Class TriggerDefinition
- java.lang.Object
-
- com.inet.taskplanner.server.api.common.AbstractDefinition<TriggerDefinition>
-
- com.inet.taskplanner.server.api.trigger.TriggerDefinition
-
@JsonData public final class TriggerDefinition extends AbstractDefinition<TriggerDefinition>
Defines a configured trigger for a task with its settings. A trigger is responsible to initiate the execution of a task for example at a certain time or when an event occurs.TriggerDefinition
——extensionName
—⟶TriggerFactory
—— TriggerFactory#createInstanceFrom(DEFINITION, GUID) createFrom()—⟶Trigger
*To map from a
TriggerDefinition
to aTriggerFactory
the methodAbstractDefinition.getExtensionName()
has to return a name for which aTriggerFactory
is registered in theServerPluginManager
.
This definition also includes settings for the trigger, i.e. for a time trigger the the start date and cycle. The extension name and the valid properties are usually defined and documented in the correspondingTriggerFactory
.It is recommended to use Builders to create
TriggerDefinitions
.- Since:
- taskplanner 3.0
- See Also:
FileChangeTriggerBuilder
,TimeTriggerBuilder
,ServerStartTrigger
,CronTriggerBuilder
-
-
Constructor Summary
Constructors Constructor Description TriggerDefinition(java.lang.String extensionName)
Creates a new TriggerDefinition instance.TriggerDefinition(java.lang.String extensionName, java.util.Map<java.lang.String,java.lang.String> properties)
Creates a new TriggerDefinition instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description TriggerDefinition
copyDefinition()
Makes a deep copy of this definition.SummaryInfo
getSummary()
Get summary infos about this Trigger.-
Methods inherited from class com.inet.taskplanner.server.api.common.AbstractDefinition
copyDefinitions, equals, getExtensionName, getProperties, getProperty, getUid, hashCode, removeProperty, setProperty, setUid
-
-
-
-
Constructor Detail
-
TriggerDefinition
public TriggerDefinition(java.lang.String extensionName)
Creates a new TriggerDefinition instance.- Parameters:
extensionName
- the unique name for this kind of triggers. For example you can pass for predefined triggersFileChangeTriggerFactory.EXTENSION_NAME
orTimeTriggerFactory.EXTENSION_NAME
- Since:
- taskplanner 3.0
-
TriggerDefinition
public TriggerDefinition(java.lang.String extensionName, java.util.Map<java.lang.String,java.lang.String> properties)
Creates a new TriggerDefinition instance.- Parameters:
extensionName
- the unique name for this kind of triggers. For example you can pass for predefined triggersFileChangeTriggerFactory.EXTENSION_NAME
orTimeTriggerFactory.EXTENSION_NAME
properties
- the initial properties to be set,null
will have no effect- Since:
- taskplanner 3.0
-
-
Method Detail
-
copyDefinition
public TriggerDefinition copyDefinition()
Makes a deep copy of this definition.- Specified by:
copyDefinition
in classAbstractDefinition<TriggerDefinition>
- Returns:
- a deep copy of this definition.
-
getSummary
public SummaryInfo getSummary()
Get summary infos about this Trigger.This summary lines are shown in the webgui.
- Returns:
- List with summary infos, can be null if the
TriggerFactory
implementation decides to return null. - Throws:
java.lang.IllegalStateException
- if no correspondingTriggerFactory
is registered- Since:
- taskplanner 3.0
- See Also:
AbstractFactory.getSummary(AbstractDefinition)
-
-