Package org.apache.wiki.ui.progress

## Class DefaultProgressManager

- java.lang.Object
- - org.apache.wiki.ui.progress.DefaultProgressManager

All Implemented Interfaces:
  `ProgressManager`

    public class DefaultProgressManager
    extends java.lang.Object
    implements ProgressManager

Manages progressing items. In general this class is used whenever JSPWiki is doing something which may require a long time. In addition, this manager provides a JSON interface for finding remotely what the progress is. The JSON object name is JSON_PROGRESSTRACKER = ""progressTracker"".

Since:
  2.6

### Nested Class Summary

Nested Classes
`class` `DefaultProgressManager.JSONTracker` Provides access to a progress indicator, assuming you know the ID.

### Field Summary

### Fields inherited from interface org.apache.wiki.ui.progress.ProgressManager

`JSON_PROGRESSTRACKER`

### Constructor Summary

Constructors
`DefaultProgressManager()` Creates a new ProgressManager.

### Method Summary

All Methods Instance Methods Concrete Methods
`java.lang.String` `getNewProgressIdentifier()` You can use this to get an unique process identifier.
`int` `getProgress​(java.lang.String id)` Get the progress in percents.
`void` `startProgress​(ProgressItem pi, java.lang.String id)` Call this method to get your ProgressItem into the ProgressManager queue.
`void` `stopProgress​(java.lang.String id)` Call this method to remove your ProgressItem from the queue (after which getProgress() will no longer find it.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### DefaultProgressManager

    public DefaultProgressManager()

Creates a new ProgressManager.

### Method Detail

#### getNewProgressIdentifier

    public java.lang.String getNewProgressIdentifier()

You can use this to get an unique process identifier.

Specified by:
  `getNewProgressIdentifier` in interface `ProgressManager`
Returns:
  A new random value

#### startProgress

    public void startProgress​(ProgressItem pi,
                              java.lang.String id)

Call this method to get your ProgressItem into the ProgressManager queue. The ProgressItem will be moved to state STARTED.

Specified by:
  `startProgress` in interface `ProgressManager`
Parameters:
  `pi` - ProgressItem to start
  `id` - The progress identifier

#### stopProgress

    public void stopProgress​(java.lang.String id)

Call this method to remove your ProgressItem from the queue (after which getProgress() will no longer find it. The ProgressItem will be moved to state STOPPED.

Specified by:
  `stopProgress` in interface `ProgressManager`
Parameters:
  `id` - The progress identifier

#### getProgress

    public int getProgress​(java.lang.String id)
                    throws java.lang.IllegalArgumentException

Get the progress in percents.

Specified by:
  `getProgress` in interface `ProgressManager`
Parameters:
  `id` - The progress identifier.
Returns:
  a value between 0 to 100 indicating the progress
Throws:
  `java.lang.IllegalArgumentException` - If no such progress item exists.