Interface AbstractOperation
-
- All Superinterfaces:
PluginDataContainer
,UserAttributeContainer
- All Known Subinterfaces:
Operation
,StorageOperation
public interface AbstractOperation extends UserAttributeContainer, PluginDataContainer
This interface unifies the methods of anOperation
used with inheritance (in the GUI) as well as for storage.This interface is not for public usage! It is only public due to a bug in the javadoc-generation. Never cast one of the sub-interfaces (
Operation
andStorageOperation
) to this interface!- Author:
- Ulrich Kreher
-
-
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 implementingExecutableComponent
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 theExecutableComponentDescription
).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; orGUIConstants.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 implementingExecutableComponent
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.-
Methods inherited from interface de.aristaflow.adept2.model.common.PluginDataContainer
getPluginData, getPluginDatas, getSupportedPlugins
-
Methods inherited from interface de.aristaflow.adept2.model.common.UserAttributeContainer
getUserAttributes, getUserAttributeValue, removeUserAttributeValue, setUserAttributeValue
-
-
-
-
Method Detail
-
getName
String getName()
Gets the name of this operation (unique with respect to theExecutableComponentDescription
). 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 toIN_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 outdatedOperation
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 implementingExecutableComponent
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 operationsnull
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 benull
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 componentThis 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 correspondingExecutableComponentDescription
. 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 theExecutableComponentDescription
). 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 implementingExecutableComponent
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 implementingExecutableComponent
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. Usenull
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; orGUIConstants.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. UseGUIConstants.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 inheritedimplementation
. CallremoveOwnExecutionControlProperties()
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 benull
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.
-
-