Package de.xima.fc.workflow.setup
Class StateTimerTriggerSetup
- java.lang.Object
- 
- de.xima.fc.workflow.setup.StateTimerTriggerSetup
 
- 
 public final class StateTimerTriggerSetup extends Object Utility methods forEWorkflowTriggerType.FC_STATE_TIMER. Sets up the quartz listeners for triggering a task after a form record remained in a certain state for a certain amount of time.- Since:
- 7.0.0
- Author:
- XIMA MEDIA GmbH
 
- 
- 
Constructor SummaryConstructors Modifier Constructor Description protectedStateTimerTriggerSetup()
 - 
Method SummaryAll Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidaddProtocolEntry(IEntityContext ec, Vorgang formRecord, EProtocolEntryProcessType type, String name, String comment)protected voidaddProtocolEntryForDeletedJob(IEntityContext ec, Locale locale, Vorgang formRecord, org.quartz.JobDetail jobDetail)protected voidaddProtocolEntryForNewJob(IEntityContext ec, Locale locale, Vorgang formRecord, WorkflowTrigger trigger, IJobWrapper job, org.quartz.Trigger quartzTrigger, Instant triggerFireInstant)protected voidaddProtocolEntryForUpdatedJob(IEntityContext ec, Locale locale, Vorgang formRecord, WorkflowTrigger trigger, IJobWrapper job, org.quartz.Trigger quartzTrigger, Instant triggerFireInstant)protected booleanallowsState(List<UuidEntityRef> states, UUID currentStateUuid)protected de.xima.cmn.criteria.FilterCriterioncontainsState(String statesKey, UUID stateUuid)Creates a filter that matches when at least one state search term has a value set to the given state, or when no state search terms exist at all (= no restriction when no state was set).protected de.xima.cmn.criteria.FilterCriterioncreateStateFilter(List<UuidEntityRef> states)protected de.xima.cmn.criteria.FilterCriterionfindApplicableFormRecords(IEntityContext ec, WorkflowTrigger trigger, FcStateTimerProps props)protected Iterable<WorkflowTrigger>findApplicableTriggers(IEntityContext ec, Vorgang formRecord)protected StringfindProcessId(org.quartz.JobDetail jobDetails)protected StringformatInstant(Locale locale, Instant instant)protected StringformatNextFireTime(Locale locale, org.quartz.Trigger quartzTrigger)static StateTimerTriggerSetupgetInstance()protected InstantgetPreviousFireInstant(org.quartz.JobDetail job, org.quartz.Trigger trigger)protected InstantgetTriggerFireInstant(IEntityContext ec, Vorgang formRecord, FcStateTimerProps props)List<ApplyToExistingFormRecordResult>handleApplyToExistingFormRecords(IEntityContext ec, WorkflowTrigger trigger, ITriggerHandler<TData> handler)<C extends de.xima.cmn.criteria.interfaces.IFilterableCriteriaManager & de.xima.cmn.criteria.interfaces.IQueryHintProviding>
 voidhandlePostBulkDeleteFormRecord(IEntityContext ec, C cm, ITriggerHandler<TData> handler)Create, updates, or deletes the quartz job(s) for the state timer trigger when aVorgangwas deleted.voidhandlePostCreateFormRecord(IEntityContext ec, Vorgang formRecord, ITriggerHandler<TData> handler)Create, updates, or deletes the quartz job(s) for the state timer trigger when aVorgangwas created.voidhandlePostDeleteFormRecord(IEntityContext ec, Vorgang formRecord, ITriggerHandler<TData> handler)Create, updates, or deletes the quartz job(s) for the state timer trigger when aVorgangwas deleted.voidhandlePostDeleteState(IEntityContext ec, WorkflowState state, ITriggerHandler<TData> handler)Create, updates, or deletes the quartz job(s) for the state timer trigger when aWorkflowStatewas deleted.voidhandlePostDeleteTrigger(IEntityContext ec, WorkflowTrigger trigger, ITriggerHandler<TData> handler)Create, updates, or deletes the quartz job(s) for the state timer trigger when aWorkflowTriggerwas deleted.voidhandlePostUpdateFormRecord(IEntityContext ec, Vorgang formRecord, ITriggerHandler<TData> handler)Create, updates, or deletes the quartz job(s) for the state timer trigger when aVorgangwas updated.protected booleanisAppliesToFormRecordUpdate(IEntityContext ec, Vorgang formRecord, ITriggerHandler<FcStateTimerProps> handler)protected booleanisNeedToRescheduleJob(de.xima.fc.workflow.setup.CheckRescheduleParams<FcStateTimerProps> params)protected booleanisRemoveJobWhenStateIsDeleted(WorkflowState state, org.quartz.JobDetail jobDetail)protected IJobWrappernewJob(IEntityContext ec, Vorgang formRecord, WorkflowTrigger trigger, FcStateTimerProps props, Instant triggerFireInstant)protected voidremoveJob(WorkflowState state)
 
- 
- 
- 
Field Detail- 
LOGprotected static final org.slf4j.Logger LOG 
 - 
typeprotected final String type 
 
- 
 - 
Method Detail- 
addProtocolEntryForDeletedJobprotected void addProtocolEntryForDeletedJob(IEntityContext ec, Locale locale, Vorgang formRecord, org.quartz.JobDetail jobDetail) 
 - 
addProtocolEntryForNewJobprotected void addProtocolEntryForNewJob(IEntityContext ec, Locale locale, Vorgang formRecord, WorkflowTrigger trigger, IJobWrapper job, org.quartz.Trigger quartzTrigger, Instant triggerFireInstant) 
 - 
addProtocolEntryForUpdatedJobprotected void addProtocolEntryForUpdatedJob(IEntityContext ec, Locale locale, Vorgang formRecord, WorkflowTrigger trigger, IJobWrapper job, org.quartz.Trigger quartzTrigger, Instant triggerFireInstant) 
 - 
findApplicableFormRecordsprotected de.xima.cmn.criteria.FilterCriterion findApplicableFormRecords(IEntityContext ec, WorkflowTrigger trigger, FcStateTimerProps props) 
 - 
findApplicableTriggersprotected Iterable<WorkflowTrigger> findApplicableTriggers(IEntityContext ec, Vorgang formRecord) 
 - 
findProcessIdprotected String findProcessId(org.quartz.JobDetail jobDetails) 
 - 
getPreviousFireInstantprotected Instant getPreviousFireInstant(org.quartz.JobDetail job, org.quartz.Trigger trigger) 
 - 
getTriggerFireInstantprotected Instant getTriggerFireInstant(IEntityContext ec, Vorgang formRecord, FcStateTimerProps props) 
 - 
isAppliesToFormRecordUpdateprotected boolean isAppliesToFormRecordUpdate(IEntityContext ec, Vorgang formRecord, ITriggerHandler<FcStateTimerProps> handler) 
 - 
isNeedToRescheduleJobprotected boolean isNeedToRescheduleJob(de.xima.fc.workflow.setup.CheckRescheduleParams<FcStateTimerProps> params) 
 - 
isRemoveJobWhenStateIsDeletedprotected boolean isRemoveJobWhenStateIsDeleted(WorkflowState state, org.quartz.JobDetail jobDetail) - Parameters:
- state- State to check.
- jobDetail- Job to check.
- Returns:
- Whether it was scheduled for that state and should be removed when the state is removed.
 
 - 
newJobprotected IJobWrapper newJob(IEntityContext ec, Vorgang formRecord, WorkflowTrigger trigger, FcStateTimerProps props, Instant triggerFireInstant) 
 - 
getInstancepublic static StateTimerTriggerSetup getInstance() - Returns:
- The singleton instance of this setup utility.
 
 - 
handlePostDeleteStatepublic final void handlePostDeleteState(IEntityContext ec, WorkflowState state, ITriggerHandler<TData> handler) Create, updates, or deletes the quartz job(s) for the state timer trigger when aWorkflowStatewas deleted.- Parameters:
- handler- Handler for the state timer trigger.
- state- State that was deleted.
- ec- Current entity context for accessing the database.
 
 - 
allowsStateprotected final boolean allowsState(List<UuidEntityRef> states, UUID currentStateUuid) - Parameters:
- states- States that are allowed.
- currentStateUuid- UUID of the form's current state.
- Returns:
- trueif the states contain the current state or when the states are empty,- falseotherwise.
 
 - 
containsStateprotected final de.xima.cmn.criteria.FilterCriterion containsState(String statesKey, UUID stateUuid) Creates a filter that matches when at least one state search term has a value set to the given state, or when no state search terms exist at all (= no restriction when no state was set).- Parameters:
- statesKey- Key of the search term
- stateUuid- UUID of the state to match.
- Returns:
- A new filter criterion for matching the given state.
 
 - 
createStateFilterprotected final de.xima.cmn.criteria.FilterCriterion createStateFilter(List<UuidEntityRef> states) 
 - 
removeJobprotected final void removeJob(WorkflowState state) 
 - 
handleApplyToExistingFormRecordspublic final List<ApplyToExistingFormRecordResult> handleApplyToExistingFormRecords(IEntityContext ec, WorkflowTrigger trigger, ITriggerHandler<TData> handler) 
 - 
handlePostBulkDeleteFormRecordpublic final <C extends de.xima.cmn.criteria.interfaces.IFilterableCriteriaManager & de.xima.cmn.criteria.interfaces.IQueryHintProviding> void handlePostBulkDeleteFormRecord(IEntityContext ec, C cm, ITriggerHandler<TData> handler) Create, updates, or deletes the quartz job(s) for the state timer trigger when aVorgangwas deleted.- Parameters:
- ec- Current entity context for accessing the database.
- cm- Criteria manager for the deleted records.
- handler- Handler for the state timer trigger.
 
 - 
handlePostCreateFormRecordpublic final void handlePostCreateFormRecord(IEntityContext ec, Vorgang formRecord, ITriggerHandler<TData> handler) Create, updates, or deletes the quartz job(s) for the state timer trigger when aVorgangwas created.- Parameters:
- ec- Current entity context for accessing the database.
- formRecord- Form record that was created.
- handler- Handler for the state timer trigger.
 
 - 
handlePostDeleteFormRecordpublic final void handlePostDeleteFormRecord(IEntityContext ec, Vorgang formRecord, ITriggerHandler<TData> handler) Create, updates, or deletes the quartz job(s) for the state timer trigger when aVorgangwas deleted.- Parameters:
- ec- Current entity context for accessing the database.
- formRecord- Form record that was deleted.
- handler- Handler for the state timer trigger.
 
 - 
handlePostDeleteTriggerpublic final void handlePostDeleteTrigger(IEntityContext ec, WorkflowTrigger trigger, ITriggerHandler<TData> handler) Create, updates, or deletes the quartz job(s) for the state timer trigger when aWorkflowTriggerwas deleted.- Parameters:
- handler- Handler for the state timer trigger.
- trigger- Trigger that was deleted.
- ec- Current entity context for accessing the database.
 
 - 
handlePostUpdateFormRecordpublic final void handlePostUpdateFormRecord(IEntityContext ec, Vorgang formRecord, ITriggerHandler<TData> handler) Create, updates, or deletes the quartz job(s) for the state timer trigger when aVorgangwas updated.- Parameters:
- ec- Current entity context for accessing the database.
- formRecord- Form record that was updated.
- handler- Handler for the state timer trigger.
 
 - 
addProtocolEntryprotected final void addProtocolEntry(IEntityContext ec, Vorgang formRecord, EProtocolEntryProcessType type, String name, String comment) 
 
- 
 
-