Class TimeTriggerFactory
- All Implemented Interfaces:
com.inet.plugin.NamedExtension
Since version 22.4 this also handles TimeTriggerForCustomSettings
- Since:
- taskplanner 3.0
- See Also:
-
TimeTrigger
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final String
Extension name of the time trigger to use intriggerDefinitions
.static final String
Key for the repeat-interval of this trigger.static final String
Key for the start day which specifies the earliest day for the execution.static final String
Key for the start time which specifies at which hour and minute of the day this trigger will fire.static final String
Key for the Monthly day setting, which determines on which day of the month this trigger fires. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic void
FOR INTERNAL USE ONLY.protected Trigger
createInstanceFrom
(TriggerDefinition definition, com.inet.id.GUID taskID) Construct a component (PRODUCT) from the given definition.getInformation
(com.inet.id.GUID taskID) Returns an information object about components which can be produced with this factory.getNextExecutionTimes
(TriggerDefinition definition) Returns the calculated time of the next executions.getSummary
(TriggerDefinition definition) Construct Summary infos for the component represented by given definition.updateValues
(TriggerDefinition definition, com.inet.id.GUID taskID) Update values according to the give definition.void
validate
(TriggerDefinition triggerDefinition, com.inet.id.GUID taskID) Validate the given definition.Methods inherited from class com.inet.taskplanner.server.api.common.SeriesIndependentFactory
createFrom
Methods inherited from class com.inet.taskplanner.server.api.common.AbstractFactory
checkDefinitionArgument, createInstanceFrom, getExtensionName, isAvailable
-
Field Details
-
EXTENSION_NAME
Extension name of the time trigger to use intriggerDefinitions
.- See Also:
-
PROP_START_DAY
Key for the start day which specifies the earliest day for the execution. The value must be a number with the milliseconds since 1st January 1970 GMT.- See Also:
-
PROP_START_TIME
Key for the start time which specifies at which hour and minute of the day this trigger will fire. The value must be a number with the milliseconds since 1st January 1970 GMT. Only hour and minute are used.- See Also:
-
PROP_REPEAT_SELECT
Key for the repeat-interval of this trigger. Value must be a String representation of theRepeatInterval
enum or null.- See Also:
-
PROP_WHICH_SELECT
Key for the Monthly day setting, which determines on which day of the month this trigger fires. The value must be a string representation of theMonthlyDay
enum.- See Also:
-
-
Constructor Details
-
TimeTriggerFactory
public TimeTriggerFactory()Creates a new TimeTriggerFactory instance.- Since:
- taskplanner 3.0
-
-
Method Details
-
createInstanceFrom
Construct a component (PRODUCT) from the given definition.- Overrides:
createInstanceFrom
in classAbstractFactory<Trigger,
TriggerDefinition, TriggerInfo, SummaryInfo> - Parameters:
definition
- the definition holding information for the PRODUCTtaskID
- the ID of the task the definition belongs or will belong to, for optional use. Can be null if the operation is done for a non-saved task.- Returns:
- a new PRODUCT
-
getInformation
Returns an information object about components which can be produced with this factory.The returned info contains information about how such a component is to be presented in the taskPlanner GUI. This are display-infos or available options to configure. The returned information contains
fields
which describes the values a user can specify in the WEB GUI. The field is also responsible to replace any placeholders for the corresponding property in aserial
task. That means properties without a field definition will not get any series placeholder replaced.If you implement a factory for a component only to be used by API, only then you can return null here.
- Specified by:
getInformation
in classAbstractFactory<Trigger,
TriggerDefinition, TriggerInfo, SummaryInfo> - Parameters:
taskID
- the ID of the task the definition belongs or will belong to, for optional use. Can be null if the operation is done for a non-saved task.- Returns:
- an information object for components this factory can produce
-
addTimeZoneDifferenceHintIfRequired
FOR INTERNAL USE ONLY. If the client and server use a different timezone, then this adds an extra label for the user so he knows he configures the server locale.- Parameters:
fields
- fields to add to
-
updateValues
Update values according to the give definition.The given definition is guaranteed to belong to this factory
- Overrides:
updateValues
in classSeriesIndependentFactory<Trigger,
TriggerDefinition, TriggerInfo, SummaryInfo> - Parameters:
definition
- the definition with the current propertiestaskID
- the ID of the task the definition belongs or will belong to, for optional use- Returns:
- a map of property key with their values that have changed
-
validate
public void validate(TriggerDefinition triggerDefinition, com.inet.id.GUID taskID) throws ValidationException Validate the given definition.The given definition is guaranteed to belong to this factory
- Specified by:
validate
in classSeriesIndependentFactory<Trigger,
TriggerDefinition, TriggerInfo, SummaryInfo> - Parameters:
triggerDefinition
- the definition to validatetaskID
- the ID of the task the definition belongs or will belong to, for optional use. Can be null if the operation is done for a non-saved task.- Throws:
ValidationException
- if the component has some errors
-
getSummary
Construct Summary infos for the component represented by given definition.The summary info is used when the webgui displays the component.
When implementing a factory for a component only to be used per API, only then you can return null here.
- Specified by:
getSummary
in classAbstractFactory<Trigger,
TriggerDefinition, TriggerInfo, SummaryInfo> - Parameters:
definition
- the definition with the settings made by a user- Returns:
- summary infos containing text lines to be displayed in the webgui for this component.
-
getNextExecutionTimes
Returns the calculated time of the next executions. If the trigger is e.g. event based and does not provide a time,null
is returned. In case time based trigger is configured incorrectly or does not have any future executions, then an empty list is returned.- Overrides:
getNextExecutionTimes
in classTriggerFactory<Trigger>
- Parameters:
definition
- the current definition where to get the next executions for- Returns:
- the calculated time of the next execution. Normally 3 future executions are returned, or less if there are not 3 more from now.
-