Interface AbstractOperation

    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      boolean areExecutionControlPropertiesInterhited()
      Gets whether this operation inherits the execution control properties from its executable component description.
      ClassLoaderUsage getClassLoaderUsage()
      Gets what classloader to use for the executable component of this operation.
      String getDescription()
      Gets a description for this operation for usage in the process model.
      String getDeveloperDescription()
      Gets a description for the developer of the operation and the administrator of the activity model.
      ExecutionControlProperties getExecutionControlProperties()
      Gets the interactions that the executable component of this operation supports for controlling its execution, that is whether the component responds to signals from the outside to suspend, reset or close the component.
      String getGUIContextID()
      Gets the ID of the GUI context the executable component of this operation needs, for instance, an SWT or an AWT context.
      UUID getIconID()
      Gets the ID of the icon to use for process steps and worklist items for this operation.
      String getImplementationClass()
      Gets the name of the class implementing ExecutableComponent for the physical counterpart of the component description of this operation.
      String getLicenceInformation()
      Gets the licence information for this operation.
      String getName()
      Gets the name of this operation (unique with respect to the ExecutableComponentDescription).
      ParameterChangePolicy getParameterChangePolicy()
      Gets the parameter change policy for this operation, that is the supported interface changes for this operation (add, change and/or remove parameters).
      long getRevision()
      Gets the (base) revision of this operation which allows to track changes.
      String getStaffAssignmentRule()
      Gets the staff assignment rule that is proposed by the developer of the operation or the administrator of the activity model.
      State getState()
      Gets the current deployment state of this operation, that is whether it is currently modified, it can be used or it may not be used any more.
      byte[] getSystemComponent()
      Gets the signature in case the executable component of this operation is a privileged component and may access system services.
      boolean isClassLoaderUsageInherited()
      Gets whether this operation inherits the classloader usage from its executable component description.
      boolean isDeveloperDescriptionInherited()
      Gets whether this operation inherits the developer description from its executable component description.
      boolean isGUIContextIDInherited()
      Gets whether this operation inherits the GUI context ID from its executable component description.
      boolean isIconIDInherited()
      Gets whether this operation inherits the icon from its executable component description.
      boolean isImplementationClassInherited()
      Gets whether this operation inherits the implementation class from its executable component description.
      boolean isLicenceInformationInherited()
      Gets whether this operation inherits the licence information from its executable component description.
      boolean isSystemComponentInherited()
      Gets whether this operation inherits the system component signature from its executable component description.
      void removeOwnClassLoaderUsage()
      Removes the classloader usage of this operation and inherits the value from the corresponding executable component description again.
      void removeOwnDeveloperDescription()
      Removes the developer description of this operation and inherits the value from the corresponding executable component description again.
      void removeOwnExecutionControlProperties()
      Removes the execution control properties of this operation and inherits them from the corresponding executable component description again.
      void removeOwnGUIContextID()
      Removes the GUI context ID of this operation and inherits the value from the corresponding executable component description again.
      void removeOwnIconID()
      Removes the icon of this operation and inherits the value from the corresponding executable component description again.
      void removeOwnImplementationClass()
      Removes the implementation class of this operation and inherits the value from the corresponding executable component description again.
      void removeOwnLicenceInformation()
      Removes the licence information of this operation and inherits the value from the corresponding executable component description again.
      void removeOwnSystemComponent()
      Removes the system component signature of this operation and inherits the value from the corresponding executable component description again.
      void setClassLoaderUsage​(ClassLoaderUsage classLoaderUsage)
      Sets what classloader to use for the executable component of this operation.
      void setDescription​(String description)
      Sets a description for this operation for usage in the process model.
      void setDeveloperDescription​(String developerDescription)
      Sets a description for the developer of the operation and the administrator of the activity model.
      void setExecutionControlProperties​(ExecutionControlProperties ecp)
      Sets the interactions that this operation supports for controlling its execution, that is whether the corresponding component responds to signals from the outside to suspend, reset or close the component.
      void setGUIContextID​(String guiContextID)
      Sets the ID of the GUI context the executable component of this operation needs, for instance, an SWT or an AWT context; or GUIConstants.NULL_CONTEXT if no GUI context is required.
      void setIconID​(UUID iconID)
      Sets the ID of the icon to use for process steps and worklist items for this operation.
      void setImplementationClass​(String implementationClass)
      Sets the name of the class implementing ExecutableComponent for the physical counterpart of the component description of this operation.
      void setLicenceInformation​(String licenceInformation)
      Sets the licence information for this operation.
      void setName​(String name)
      Sets the name of this operation.
      void setParameterChangePolicy​(ParameterChangePolicy pcp)
      Sets the parameter change policy for this operation, that is the supported interface changes for this operation (add, change and/or remove parameters).
      void setStaffAssignmentRule​(String staffAssignmentRule)
      Sets the staff assignment rule that is proposed by the developer of the operation or the administrator of the activity model.
      void setSupportsTestExecutionOnly​(boolean supportsTestExecution)
      Sets whether this operation supports a test execution.
      void setSupportsViewOnly​(boolean supportsViewOnly)
      Sets whether this operation supports a view only mode.
      void setSystemComponent​(byte[] signature)
      Sets the signature for the executable component of this operation which allows privileged access to system services.
      boolean supportsTestExecution()
      Gets whether this operation supports a test execution.
      boolean supportsViewOnly()
      Gets whether this operation supports a view only mode.
    • Method Detail

      • getName

        String getName()
        Gets the name of this operation (unique with respect to the ExecutableComponentDescription). This name is used in configurations that apply at runtime for operation-specific configurations. Therefore one may have configuration values for executable components as well as operations.
        Returns:
        The name of this operation (unique with respect to the ExecutableComponentDescription).
      • getDescription

        String getDescription()
        Gets a description for this operation for usage in the process model. This describes the operation and may be displayed in the worklist of the end-user.
        Returns:
        A description for this operation for usage in the process model that may be displayed in worklists.
      • getDeveloperDescription

        String getDeveloperDescription()
        Gets a description for the developer of the operation and the administrator of the activity model.

        This attribute overrides the corresponding parent attribute.

        Returns:
        A description for the developer of the operation and the administrator of the activity model. This description is not propagated to the process and is only part of the activity model.
      • getRevision

        long getRevision()
        Gets the (base) revision of this operation which allows to track changes. To modify an operation it needs to be in a development branch. As soon as it is changed, its state is set to IN_DEVELOPMENT but the revision remains until the branch is released.

        Only an operation having no released revision yet may change its name.

        Returns:
        The revision of this operation or the revision which it is based upon.
      • getState

        State getState()
        Gets the current deployment state of this operation, that is whether it is currently modified, it can be used or it may not be used any more. This state also applies to all child entities. An outdated Operation implicitly also sets all of its child entities to outdated. However, the state is not directly propagated to child entities. Rather before using an entity all of its parent entities have to be checked for their state.
        Returns:
        The current deployment state of this operation that implicitly also applies to all child entities.
      • getImplementationClass

        String getImplementationClass()
        Gets the name of the class implementing ExecutableComponent for the physical counterpart of the component description of this operation.
        An implementation class is not required for with the runtime service, therefore for such operations null may be exceptionally returned.

        This attribute overrides the corresponding parent attribute.

        Returns:
        The name of the class implementing ExecutableComponent for the physical counterpart of the component description of this operation which is instantiated and called at runtime. This may exceptionally be null for operations that are only to be executed with the runtime service.
      • getClassLoaderUsage

        ClassLoaderUsage getClassLoaderUsage()
        Gets what classloader to use for the executable component of this operation. This may be a specific classloader for each execution, a shared classloader for all executions of the very same executable component on the same runtime manager and the classloader of the AristaFlow platform.

        This attribute overrides the corresponding parent attribute.

        Returns:
        What classloader to use for executable component of this operation; one for each execution, shared for all executions of the same activity or the classloader of the AristaFlow platform.
      • getSystemComponent

        byte[] getSystemComponent()
        Gets the signature in case the executable component of this operation is a privileged component and may access system services. Such an executable component receives a registry in the constructor and may use this to retrieve the needed services.
        The system component signature allows to verify the component. Null indicates a non-system component

        This attribute overrides the corresponding parent attribute.

        Returns:
        A signature to verify the component to prevent harmful components from system access or null for non-system components.
      • getGUIContextID

        String getGUIContextID()
        Gets the ID of the GUI context the executable component of this operation needs, for instance, an SWT or an AWT context. This is provided at runtime and allows the component to render its graphical user interface to.

        This attribute overrides the corresponding parent attribute.

        Returns:
        The ID of the GUI context the executable component of this operation needs to render its graphical user interface to. This will be GUIConstants.NULL_CONTEXT if no GUI context is required.
      • getExecutionControlProperties

        ExecutionControlProperties getExecutionControlProperties()
        Gets the interactions that the executable component of this operation supports for controlling its execution, that is whether the component responds to signals from the outside to suspend, reset or close the component.

        This attribute overrides the corresponding parent attribute.

        Returns:
        The interactions that the executable component supports for controlling its execution, that is whether the component responds to signals from the outside to suspend, reset or close the component. If this is null, this operation inherits the execution control properties from its executable component description.
      • supportsViewOnly

        boolean supportsViewOnly()
        Gets whether this operation supports a view only mode. In this mode the operation is executed normally but all of its output parameters are provided very similar to input parameters. The operation should then just display its input and output values. This allows to reproduce the execution of an operation later and thus improves traceability of a process. Since the operation must not write output, this mode has to be explicitly supported.
        Returns:
        Whether this operation supports a view only mode to re-execute the operation only for displaying input data as well as the formerly written output data.
        See Also:
        SessionContext.isViewOnly()
      • supportsTestExecution

        boolean supportsTestExecution()
        Gets whether this operation supports a test execution. If so, the operation will be able to run in a special test environment with a test configuration which does not have any critical side effects. The operation is provided a flag at runtime whether it is in test mode.
        Returns:
        Whether this operation supports a test mode without any critical side effects.
        See Also:
        Operation.getTestConfiguration(), SessionContext.isTestMode()
      • getIconID

        UUID getIconID()
        Gets the ID of the icon to use for process steps and worklist items for this operation. With the ID the corresponding item can be requested from an icon providing service in various sizes and formats.

        This attribute overrides the corresponding parent attribute.

        Returns:
        The ID of the icon to use for process steps and worklist items; the corresponding icon may be retrieved in various sizes and formats. This may be null if no icon is specified.
      • getLicenceInformation

        String getLicenceInformation()
        Gets the licence information for this operation. This may specify legal stuff for using the corresponding component.

        This attribute overrides the corresponding parent attribute.

        Returns:
        The licence information for this operation or an empty string.
      • getParameterChangePolicy

        ParameterChangePolicy getParameterChangePolicy()
        Gets the parameter change policy for this operation, that is the supported interface changes for this operation (add, change and/or remove parameters). This change policy applies to all child entities of this operation. It also influences the parameter templates of this operation.
        Returns:
        The parameter change policy for this operation that specifies the supported interface changes for this operation.
      • getStaffAssignmentRule

        String getStaffAssignmentRule()
        Gets the staff assignment rule that is proposed by the developer of the operation or the administrator of the activity model. This simplifies usage of the operation in a process. However, the process modeler can deviate from this.
        An empty string will be returned if this is undefined.
        Returns:
        The staff assignment rule that is proposed by the developer of the operation or the administrator of the activity model or an empty string.
      • setName

        void setName​(String name)
        Sets the name of this operation. This has to be unique with respect to the corresponding ExecutableComponentDescription. The name is used in configurations that apply at runtime for operation-specific configurations. Therefore one may have configuration values for executable components as well as operations.
        Due to its usage as identification for configurations, the name may only be changed for an operation that does not have a released revision yet. Changing this name propagates the change to all existing child entities (including configuration sets) since they reference this operation via its name.

        This must neither be null nor the empty string. The designated name must not exist for the executable component description.

        Parameters:
        name - The name of this operation (unique with respect to the ExecutableComponentDescription). This must neither be null nor the empty string.
      • setDescription

        void setDescription​(String description)
        Sets a description for this operation for usage in the process model. This describes the operation and may be displayed in the worklist of the end-user.
        Parameters:
        description - A description for this operation for usage in the process model that may be displayed in worklists. Use the empty string to unset the description.
      • setDeveloperDescription

        void setDeveloperDescription​(String developerDescription)
        Sets a description for the developer of the operation and the administrator of the activity model.

        This attribute overrides the corresponding parent attribute.

        Parameters:
        developerDescription - A description for the developer of the operation and the administrator of the activity model. This description is not propagated to the process and is only part of the activity model. Use the empty string to unset the developer description (i.e. prevent it from being inherited) for this entity.
      • setImplementationClass

        void setImplementationClass​(String implementationClass)
        Sets the name of the class implementing ExecutableComponent for the physical counterpart of the component description of this operation.

        This attribute overrides the corresponding parent attribute.

        Parameters:
        implementationClass - The name of the class implementing ExecutableComponent for the physical counterpart of the component description of this operation which is instantiated and called at runtime.
      • setClassLoaderUsage

        void setClassLoaderUsage​(ClassLoaderUsage classLoaderUsage)
        Sets what classloader to use for the executable component of this operation. This may be a specific classloader for each execution, a shared classloader for all executions of the very same executable component on the same runtime manager and the classloader of the AristaFlow platform.

        This attribute overrides the corresponding parent attribute.

        Parameters:
        classLoaderUsage - What classloader to use for executable component of this operation; one for each execution, shared for all executions of the same activity or the classloader of the AristaFlow platform.
      • setSystemComponent

        void setSystemComponent​(byte[] signature)
        Sets the signature for the executable component of this operation which allows privileged access to system services.

        This attribute overrides the corresponding parent attribute. This is only allowed in case this operation provides an own implementation.

        Parameters:
        signature - A signature to verify the component to prevent harmful components from system access. Use null for a non-system component. An empty array is not allowed.
      • setGUIContextID

        void setGUIContextID​(String guiContextID)
        Sets the ID of the GUI context the executable component of this operation needs, for instance, an SWT or an AWT context; or GUIConstants.NULL_CONTEXT if no GUI context is required.

        This attribute overrides the corresponding parent attribute. This is only allowed in case this operation provides an own implementation.

        Parameters:
        guiContextID - The ID of the GUI context the executable component of this operation needs to render its graphical user interface to. Use GUIConstants.NULL_CONTEXT in case no GUI context is needed.
      • setExecutionControlProperties

        void setExecutionControlProperties​(ExecutionControlProperties ecp)
        Sets the interactions that this operation supports for controlling its execution, that is whether the corresponding component responds to signals from the outside to suspend, reset or close the component.

        This attribute overrides the corresponding parent attribute. Overriding will only be allowed to more restrictive properties, that is, suspending, reseting or closing may be prevented by overriding but not enabled if this operation does not specify an own implementation.

        Parameters:
        ecp - The interactions that the operation supports for controlling its execution, that is whether the component responds to signals from the outside to suspend, reset or close the component. Only more restrictive properties are allowed when overriding in case of an inherited implementation. Call removeOwnExecutionControlProperties() to inherit the properties from the parent entity.
      • setSupportsViewOnly

        void setSupportsViewOnly​(boolean supportsViewOnly)
        Sets whether this operation supports a view only mode. In this mode the operation is executed normally but all of its output parameters are provided very similar to input parameters. The operation should then just display its input and output values. This allows to reproduce the execution of an operation later and thus improves traceability of a process. Since the operation must not write output, this mode has to be explicitly supported.
        Parameters:
        supportsViewOnly - Whether this operation supports a view only mode to re-execute the operation only for displaying input data as well as the formerly written output data.
        See Also:
        SessionContext.isViewOnly()
      • setSupportsTestExecutionOnly

        void setSupportsTestExecutionOnly​(boolean supportsTestExecution)
        Sets whether this operation supports a test execution. If so, the operation will be able to run in a special test environment with a test configuration which does not have any critical side effects. The operation is provided a flag at runtime whether it is in test mode.
        Parameters:
        supportsTestExecution - Whether this operation supports a test mode without any critical side effects.
        See Also:
        Operation.getTestConfiguration(), SessionContext.isTestMode()
      • setIconID

        void setIconID​(UUID iconID)
        Sets the ID of the icon to use for process steps and worklist items for this operation. With the ID the corresponding item can be requested from an icon providing service in various sizes and formats.

        This attribute overrides the corresponding parent attribute.

        Parameters:
        iconID - The ID of the icon to use for process steps and worklist items; the corresponding icon may be retrieved in various sizes and formats. This must not be null since it is not allowed to remove the icon of the parent entity.
      • setLicenceInformation

        void setLicenceInformation​(String licenceInformation)
        Sets the licence information for this operation.

        This attribute overrides the corresponding parent attribute.

        Parameters:
        licenceInformation - The licence information for this operation as arbitrary string or the empty string.
      • setParameterChangePolicy

        void setParameterChangePolicy​(ParameterChangePolicy pcp)
        Sets the parameter change policy for this operation, that is the supported interface changes for this operation (add, change and/or remove parameters). However, the parameters of this operation may always be changed independent from this policy, that is the policy applies to the child entities. But it does apply to the parameter templates! If you cannot add templates in a child entity you will not need to define parameter templates at the corresponding parent entity.
        When setting the parameter change policy to a more restricted one, parameter templates may be removed (and inherited again). This depends on the implementation.

        The designated parameter change policy must not be null.

        Parameters:
        pcp - The parameter change policy for this operation that specifies the supported interface changes for this operation. This must not be null.
        The parameter change policy applies to the parameters of the child entities and the parameter templates of this operation.
      • setStaffAssignmentRule

        void setStaffAssignmentRule​(String staffAssignmentRule)
        Sets the staff assignment rule that is proposed by the developer of the operation or the administrator of the activity model. This simplifies usage of the operation in a process. However, the process modeler can deviate from this.
        Use the empty string if this is undefined.
        Parameters:
        staffAssignmentRule - The staff assignment rule that is proposed by the developer of the operation or the administrator of the activity model or an empty string.
      • isDeveloperDescriptionInherited

        boolean isDeveloperDescriptionInherited()
        Gets whether this operation inherits the developer description from its executable component description. If it does not, it will override it with an own value.
        Returns:
        Whether this operation inherits the developer description from the corresponding executable component description or whether it overrides it with the value provided by getDeveloperDescription().
      • removeOwnDeveloperDescription

        void removeOwnDeveloperDescription()
        Removes the developer description of this operation and inherits the value from the corresponding executable component description again.
        Calling this method will have no effects if the developer description is already inherited.
      • isImplementationClassInherited

        boolean isImplementationClassInherited()
        Gets whether this operation inherits the implementation class from its executable component description. If it does not, it will override it with an own value.
        Returns:
        Whether this operation inherits the implementation class from the corresponding executable component description or whether it overrides it with the value provided by getImplementationClass().
      • removeOwnImplementationClass

        void removeOwnImplementationClass()
        Removes the implementation class of this operation and inherits the value from the corresponding executable component description again.
        Calling this method will have no effects if the implementation class is already inherited.
      • isClassLoaderUsageInherited

        boolean isClassLoaderUsageInherited()
        Gets whether this operation inherits the classloader usage from its executable component description. If it does not, it will override it with an own value.
        Returns:
        Whether this operation inherits the classloader usage from the corresponding executable component description or whether it overrides it with the value provided by getClassLoaderUsage().
      • removeOwnClassLoaderUsage

        void removeOwnClassLoaderUsage()
        Removes the classloader usage of this operation and inherits the value from the corresponding executable component description again.
        Calling this method will have no effects if the classloader usage is already inherited.
      • isSystemComponentInherited

        boolean isSystemComponentInherited()
        Gets whether this operation inherits the system component signature from its executable component description. If it does not, it will override it with an own value.
        Returns:
        Whether this operation inherits the system component signature from the corresponding executable component description or whether it overrides it with the value provided by getSystemComponent().
      • removeOwnSystemComponent

        void removeOwnSystemComponent()
        Removes the system component signature of this operation and inherits the value from the corresponding executable component description again.
        Calling this method will have no effects if the system component signature is already inherited.
      • isGUIContextIDInherited

        boolean isGUIContextIDInherited()
        Gets whether this operation inherits the GUI context ID from its executable component description. If it does not, it will override it with an own value.
        Returns:
        Whether this operation inherits the GUI context ID from the corresponding executable component description or whether it overrides it with the value provided by getGUIContextID().
      • removeOwnGUIContextID

        void removeOwnGUIContextID()
        Removes the GUI context ID of this operation and inherits the value from the corresponding executable component description again.
        Calling this method will have no effects if the GUI context ID is already inherited.
      • areExecutionControlPropertiesInterhited

        boolean areExecutionControlPropertiesInterhited()
        Gets whether this operation inherits the execution control properties from its executable component description. If it does not, it will override them with own values but only more restrictive ones.
        Returns:
        Whether this operation inherits the GUI context ID from the corresponding executable component description or whether it overrides it with the value provided by getGUIContextID().
      • removeOwnExecutionControlProperties

        void removeOwnExecutionControlProperties()
        Removes the execution control properties of this operation and inherits them from the corresponding executable component description again.
        Calling this method will have no effects if the execution control properties are already inherited.

        The execution control properties will also be removed from this operation.

      • isIconIDInherited

        boolean isIconIDInherited()
        Gets whether this operation inherits the icon from its executable component description. If it does not, it will override it with an own value.
        Returns:
        Whether this operation inherits the icon from the corresponding executable component description or whether it overrides it with the value provided by getIconID().
      • removeOwnIconID

        void removeOwnIconID()
        Removes the icon of this operation and inherits the value from the corresponding executable component description again.
        Calling this method will have no effects if the icon is already inherited.
      • isLicenceInformationInherited

        boolean isLicenceInformationInherited()
        Gets whether this operation inherits the licence information from its executable component description. If it does not, it will override it with an own value.
        Returns:
        Whether this operation inherits the licence information from the corresponding executable component description or whether it overrides it with the value provided by getLicenceInformation().
      • removeOwnLicenceInformation

        void removeOwnLicenceInformation()
        Removes the licence information of this operation and inherits the value from the corresponding executable component description again.
        Calling this method will have no effects if the licence information is already inherited.