T
- the type of the param to determine the prioritypublic abstract class DefaultPriorityProvider<T> extends Object implements PriorityProvider<T>
Modifier and Type | Field and Description |
---|---|
static long |
DEFAULT_PRIORITY
The default priority.
|
static long |
DEFAULT_PRIORITY_ON_RESOLUTION_FAILURE
The default priority in case of resolution failure.
|
Constructor and Description |
---|
DefaultPriorityProvider() |
Modifier and Type | Method and Description |
---|---|
long |
determinePriority(ExecutionEntity execution,
T param,
String jobDefinitionId) |
protected Long |
evaluateValueProvider(ParameterValueProvider valueProvider,
ExecutionEntity execution,
String errorMessageHeading)
Evaluates a given value provider with the given execution entity to determine
the correct value.
|
long |
getDefaultPriority()
Returns the default priority.
|
long |
getDefaultPriorityOnResolutionFailure()
Returns the default priority in case of resolution failure.
|
protected Long |
getProcessDefinedPriority(ProcessDefinitionImpl processDefinition,
String propertyKey,
ExecutionEntity execution,
String errorMsgHead)
Returns the priority which is defined in the given process definition.
|
protected abstract Long |
getProcessDefinitionPriority(ExecutionEntity execution,
T param)
Returns the priority defined in the process definition.
|
protected abstract Long |
getSpecificPriority(ExecutionEntity execution,
T param,
String jobDefinitionId)
Returns the priority defined in the specific entity.
|
protected boolean |
isSymptomOfContextSwitchFailure(Throwable t,
ExecutionEntity contextExecution) |
protected boolean |
isValidLongValue(Number value)
Checks if the given number is a valid long value.
|
protected abstract void |
logNotDeterminingPriority(ExecutionEntity execution,
Object value,
ProcessEngineException e)
Logs the exception which was thrown if the priority can not be determined.
|
public static long DEFAULT_PRIORITY
public static long DEFAULT_PRIORITY_ON_RESOLUTION_FAILURE
public long getDefaultPriority()
public long getDefaultPriorityOnResolutionFailure()
protected Long evaluateValueProvider(ParameterValueProvider valueProvider, ExecutionEntity execution, String errorMessageHeading)
valueProvider
- the provider which contains the valueexecution
- the execution entityerrorMessageHeading
- the heading which is used for the error messagepublic long determinePriority(ExecutionEntity execution, T param, String jobDefinitionId)
determinePriority
in interface PriorityProvider<T>
execution
- may be null when the job is not created in the context of a
running process instance (e.g. a timer start event)param
- extra parameter to determine priority onjobDefinitionId
- the job definition id if related to a jobprotected abstract Long getSpecificPriority(ExecutionEntity execution, T param, String jobDefinitionId)
execution
- the current executionparam
- the generic paramjobDefinitionId
- the job definition id if related to a jobprotected abstract Long getProcessDefinitionPriority(ExecutionEntity execution, T param)
execution
- the current executionparam
- the generic paramprotected Long getProcessDefinedPriority(ProcessDefinitionImpl processDefinition, String propertyKey, ExecutionEntity execution, String errorMsgHead)
processDefinition
- the process definition that should contains the prioritypropertyKey
- the key which identifies the propertyexecution
- the current executionerrorMsgHead
- the error message header which is used if the evaluation failsprotected abstract void logNotDeterminingPriority(ExecutionEntity execution, Object value, ProcessEngineException e)
execution
- the current execution entityvalue
- the current valuee
- the exception which was catchedprotected boolean isSymptomOfContextSwitchFailure(Throwable t, ExecutionEntity contextExecution)
protected boolean isValidLongValue(Number value)
value
- the number which should be checkedCopyright © 2017. All rights reserved.