public abstract class ItemHasMarker extends MarkerExpressionFilter implements MarkerConstants
Extensions must provide the repository item to used in the hasMarker API calls, and also map the new expressions operator names to the ones provided by this class.
The operator names provided by this class are:
hasMarker
hasLastMarker
hasLastMarkerWithKey
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
CLASS_VERSION
Class version string
|
static java.lang.String |
OP_HAS_LASTMARKER |
static java.lang.String |
OP_HAS_LASTMARKER_WITHKEY |
static java.lang.String |
OP_HAS_MARKER
Scenario operators handled by the evaluate methods
|
mMarkerConfiguration
ALLOW_DUPLICATES, ANY_VALUE, DEFAULT_MARKER_ID_PROPERTY_NAME, DEFAULT_MARKER_ITEM_TYPE, DEFAULT_MARKER_PROPERTY_NAME, DEFAULT_MARKER_SORT_PROPERTY_NAME, MARKER_CREATIONDATE_PROPERTY_NAME, MARKER_DATA_PROPERTY_NAME, MARKER_DUPLICATIONMODE_PROPERTY_NAME, MARKER_KEY_PROPERTY_NAME, MARKER_OWNER_PROPERTY_NAME, MARKER_RESOURCE_NAME, MARKER_VALUE_PROPERTY_NAME, NO_DUPLICATES, PARAM_DATA, PARAM_DUPMODE, PARAM_EXTENDED_PROPERTIES, PARAM_ITEM, PARAM_ITEM_ID, PARAM_KEY, PARAM_MARKED_ITEM_TYPE, PARAM_MARKER_ITEM_TYPE, PARAM_MARKER_MANAGER, PARAM_MARKER_PROPERTY_NAME, PARAM_VALUE, REPLACE_DUPLICATES, sResourceBundle
Constructor and Description |
---|
ItemHasMarker() |
Modifier and Type | Method and Description |
---|---|
protected Filter |
evaluate(ProcessExecutionContext pContext)
Evaluates this filter in the given process execution context.
|
protected java.lang.String |
getHasMarkerOperatorToPerform(ProcessExecutionContext pContext)
This method is called by the evaluate method to determine the operator name.
|
protected abstract RepositoryItem |
getItemToUse(ProcessExecutionContext pContext)
This method is called by the evaluate method
to provide the RepositoryItem that's used in the hasMarker
API calls.
|
void |
initialize(java.lang.String pOperator,
Expression[] pOperands)
called by Scenario Manager to initialize the expression
|
configure, getData, getDuplicationMode, getExtendedProperties, getKey, getMarkedItemType, getMarkerConfiguration, getMarkerItemType, getMarkerPropertyName, getRepositoryMarkerManager, getValue, setMarkerConfiguration
equals, getOperands, getOperator, operandsEquals, setOperands, setOperator, toString
andFilters, andFilters, assumeFalse, assumeTrue, createProcessInstanceQuery, createSubjectQuery, getResourceBundle, getSubjectType, hashCode, implies, isCacheable, negate, orFilters, orFilters, setCacheable, test
public static java.lang.String CLASS_VERSION
public static final java.lang.String OP_HAS_MARKER
public static final java.lang.String OP_HAS_LASTMARKER
public static final java.lang.String OP_HAS_LASTMARKER_WITHKEY
protected abstract RepositoryItem getItemToUse(ProcessExecutionContext pContext)
pContext
- the scenario execution contextprotected java.lang.String getHasMarkerOperatorToPerform(ProcessExecutionContext pContext)
By default, this method uses the operator name returned by getOperator to lookup to the appropriate base operator name provided by ItemHasMarker.
The base operator names for ItemHasMarker are: hasMarker, hasLastMarker and hasLastMarkerWithKey
Because this class can be extended to implement any number of scenario hasMarker expressions, the new expression operator names must be mapped in the configuration component to one of the standard operators above.
MarkerConfiguration.getHasMarkerOperatorMap()
public void initialize(java.lang.String pOperator, Expression[] pOperands) throws ProcessException
initialize
in class MarkerExpressionFilter
pOperator
- the filter operator namespOperands
- the operands to the filter.ProcessException
- if the operands argument is invalidprotected Filter evaluate(ProcessExecutionContext pContext) throws ProcessException
The possible return values of this method are as follows:
Filter.TRUE
- if the filter can be fully
evaluated, and is satisfied in the given context
Filter.FALSE
- if the filter can be fully
evaluated, and is not satisfied in the given context
evaluate
in class Filter
ProcessException
- if there is a problem evaluating the
filter (other than information missing from the context)