Class FileChangeTriggerFactory

  • All Implemented Interfaces:
    com.inet.plugin.NamedExtension

    public class FileChangeTriggerFactory
    extends TriggerFactory<com.inet.taskplanner.server.api.trigger.filechange.FileChangeTrigger>
    A task planner trigger that executes a task when a file or folder changes.
    Since:
    taskplanner 3.0
    • Field Detail

      • PROPERTY_TYPE

        public static final java.lang.String PROPERTY_TYPE
        Key of the property type which determines whether a file or a folder must be observed. Values can be VALUE_FILE or VALUE_FOLDER
        See Also:
        Constant Field Values
      • VALUE_FILE

        public static final java.lang.String VALUE_FILE
        Observe a file and trigger if that file is created, deleted or modified.
        See Also:
        Constant Field Values
      • VALUE_FOLDER

        public static final java.lang.String VALUE_FOLDER
        Observe a folder and trigger if files in that folder changed or the folder itself is changed.
        See Also:
        Constant Field Values
      • PROPERTY_FILE_PATH

        public static final java.lang.String PROPERTY_FILE_PATH
        Key of the property which holds the path to the file to observe.
        See Also:
        Constant Field Values
      • PROPERTY_FOLDER_PATH

        public static final java.lang.String PROPERTY_FOLDER_PATH
        Key of the property which holds the path to the folder to observe.
        See Also:
        Constant Field Values
    • Constructor Detail

      • FileChangeTriggerFactory

        public FileChangeTriggerFactory()
        Creates instance of file change trigger factory.
        Since:
        taskplanner 3.0
    • Method Detail

      • createInstanceFrom

        protected com.inet.taskplanner.server.api.trigger.filechange.FileChangeTrigger createInstanceFrom​(TriggerDefinition definition,
                                                                                                          com.inet.id.GUID taskID)
        Construct a component (PRODUCT) from the given definition.
        Overrides:
        createInstanceFrom in class AbstractFactory<com.inet.taskplanner.server.api.trigger.filechange.FileChangeTrigger,​TriggerDefinition,​TriggerInfo,​SummaryInfo>
        Parameters:
        definition - the definition holding information for the PRODUCT
        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:
        a new PRODUCT
      • getInformation

        public TriggerInfo getInformation​(com.inet.id.GUID taskID)
        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 a serial 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 class AbstractFactory<com.inet.taskplanner.server.api.trigger.filechange.FileChangeTrigger,​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
      • 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 class SeriesIndependentFactory<com.inet.taskplanner.server.api.trigger.filechange.FileChangeTrigger,​TriggerDefinition,​TriggerInfo,​SummaryInfo>
        Parameters:
        triggerDefinition - the definition to validate
        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.
        Throws:
        java.lang.IllegalArgumentException - if given definition is null.
        ValidationException - if the component has some errors
      • getPathOutOfDef

        @Nullable
        public static java.lang.String getPathOutOfDef​(TriggerDefinition definition)
        Gets path out of trigger definition.
        Parameters:
        definition - definition of the trigger.
        Returns:
        path from the trigger definition. May be null.
        Throws:
        java.lang.IllegalArgumentException - if the definition is null
        Since:
        taskplanner 3.0
      • getSummary

        public SummaryInfo getSummary​(TriggerDefinition definition)
        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 class AbstractFactory<com.inet.taskplanner.server.api.trigger.filechange.FileChangeTrigger,​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.