# Interface: com.pnfsoftware.jeb.util.base.IProgressCallback

Progress callback interface, used by various types to provide progress information about an on\-going task. Methods involving lengthy operations \(referred to as 'provider'\) sometimes accept such objects and use them to provide progress information to the caller \(referred to as 'client'\).

## Method: getCurrent
- return type: `long`

Description: Retrieve the current unit count.
return: current unit count

## Method: getTotal
- return type: `long`

Description: Retrieve the total unit count.
return: total unit count

## Method: increment
- return type: `long`

Description: Increment the current unit count.
return: the incremented value

## Method: isInitialized
- return type: `boolean`

Description: Determine whether this object is initialized.
return: true if a positive total was set

## Method: message
- parameter: `msg`, type: `java.lang.String`

Description: This method is used by the provider to send a transient message to its client, with id 0. It is the same as [message\(0, msg\)](#message(int, String)).
parameter: msg: message string

## Method: message
- parameter: `id`, type: `int`
- parameter: `msg`, type: `java.lang.String`

Description: This method is used by the provider to send a transient message to its client.
parameter: id: message id \(0 or 1\)
parameter: msg: message string

## Method: setCurrent
- parameter: `current`, type: `long`

Description: This method is called by a provider to update the current computation count. Together with the total count, a client may compute an estimated completion ratio.
parameter: current: current unit count

## Method: setTotal
- parameter: `total`, type: `long`

Description: This method is called by a provider \(generally once\) to set an initial \(possibly estimated\) computation count. The number in itself is arbitrary.
parameter: total: total unit count

## Method: updateTotal
- parameter: `count`, type: `long`

Description: Set or update the total by the provided unit amount. If the total [had been set](#isInitialized()), it is updated; else, it is set.
parameter: count: unit count to add or set

