Interface ServiceLevelRatioCalculatorInput
-
public interface ServiceLevelRatioCalculatorInput
AServiceLevelRatioCalculatorInput
is an object providing all required information for theFunction
returned by aServiceLevelRatioCalculator
to override the default algorithm that calculates the individual service level ratio for anIssue
.- Since:
- 12.14
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description long
getCalculationTimestamp()
The method returns the calculation timestamp which is the current time when the loop for the calculation for all issues starts.double
getDefaultServiceLevelRatio()
The method returns the calculated default service level ratio for theIssue
.long
getElapsedServiceLevelTime()
The method returns the total elapsed time of theIssue
in milliseconds since it has been created.long
getInactiveServiceLevelTime()
The method returns the sum of inactive time of theIssue
in milliseconds, e.g.long
getTargetServiceLevelTime()
boolean
isSubstractInactiveTimeRequired()
The method returns true if the calculation must subtract any inactive time periods like inactive business hours.
-
-
-
Method Detail
-
getCalculationTimestamp
long getCalculationTimestamp()
The method returns the calculation timestamp which is the current time when the loop for the calculation for all issues starts. AServiceLevelRatioCalculator
always should use the calculation timestamp to calculate the service level ratio instead ofSystem.currentTimeMillis()
. During a calculation loop over all issues in the backlog it is necessary to calculate all individual issues with the same calculation timestamp in order to avoid general contract violation of sort algorithms.- Returns:
- the calculation timestamp for the calculation which equals the time at the start of the current service level calculation loop
- Since:
- 12.14
-
getElapsedServiceLevelTime
long getElapsedServiceLevelTime()
The method returns the total elapsed time of theIssue
in milliseconds since it has been created. This time is used by the default algorithm to calculate the service level ratio for anIssue
.- Returns:
- the total elapsed time of the
Issue
since creation in milliseconds. - Since:
- 12.14
-
getInactiveServiceLevelTime
long getInactiveServiceLevelTime()
The method returns the sum of inactive time of theIssue
in milliseconds, e.g. the time passed during inactive business hours.- Returns:
- the total inactive time of the
Issue
in milliseconds. - Since:
- 12.14
-
getTargetServiceLevelTime
long getTargetServiceLevelTime()
The method returns the target service level time defined by theCategory
configuration of theIssue
. If theCategory
does not define a target service level time then the target service level time defined by theTenant
of theIssue
will be returned. If theTenant
does not define a target service level time then the target service level time defined by the global system configuration will be returned.
-
getDefaultServiceLevelRatio
double getDefaultServiceLevelRatio()
The method returns the calculated default service level ratio for theIssue
.- Returns:
- the service level ratio of the default implementation
- Since:
- 12.14
-
isSubstractInactiveTimeRequired
boolean isSubstractInactiveTimeRequired()
The method returns true if the calculation must subtract any inactive time periods like inactive business hours. If aServiceLevelRatioCalculator
plugin provides a specific function to calculate the service level ratio of anIssue
it has to calculate the ratio either with or without considering the inactive time periods of theIssue
depending on the return value of this method. To get the absolute waiting time please refer to the methodgetElapsedServiceLevelTime()
. To get the inactive time periods please refer to the methodgetInactiveServiceLevelTime()
.- Returns:
- indicates whether the calculation has to subtract any inactive time periods during calculation
- Since:
- 12.14
-
-