Interface ExecutableComponentDescription

  • All Superinterfaces:
    AbstractExecutableComponentDescription, PluginDataContainer, UserAttributeContainer

    public interface ExecutableComponentDescription
    extends AbstractExecutableComponentDescription
    An ExecutableComponentDescription is the logical counterpart of the physical entity that is called at runtime, the "ExecutableComponent". As its name implies, it contains the basic information on the ExecutableComponent, for instance the name of the class implementing the ExecutableComponent-interface, the class path, licence information and a description. Additional data like a revision or a state allows to organise and manage the descriptions and provide a life cycle and change management.

    An ExecutableComponentDescription is identified by its name. This may only be changed while being IN_DEVELOPMENT. Afterwards this name is used to identify the executable component; in the activity model as well as in the global configuration and the configuration of local runtime managers. The name must not be changed again since this would require massive changes in the configurations. If a new version of an executable component renders the corresponding configurations incompatible, create a complete new ExecutableComponentDescription with a different name. This way existing configurations do not apply any more.

    Author:
    Ulrich Kreher
    • Method Detail

      • getConfigurationDescription

        InheritedConfigurationDescription getConfigurationDescription()
        Gets the configuration description for this executable component, that is a description of all configuration values that are needed or supported at runtime. This also provides whether a configuration value is mandatory and its type.
        Returns:
        The description for all configuration values of this executable component, that is, the name of the configuration entries, their type and whether they are mandatory.
      • getParameterTemplates

        InheritedCollection<String,​ParameterTemplate> getParameterTemplates()
        Gets parameter templates that are defined for this executable component description and its child entities. This allows to simplify the creation of parameters for operations, activity template definitions and activity templates for operations with a non-fixed interfaces (generic interfaces).

        This templates need not be used at all when creating parameters. If a component needs to ensure that only these templates are used, an appropriate check needs to be provided that verifies the created parameters.

        Returns:
        Templates for parameters (mapped from parameter template name to the corresponding parameter template) that may be added to child entities of this executable component. If no parameter templates are defined, an empty collection will be returned.
      • getStorageECD

        StorageExecutableComponentDescription getStorageECD()
        Gets the object that allows to easily store the data of this ExecutableComponentDescription. This provides simpler data types.

        The returned object is for storing only! You should not rely on it to retrieve a simpler representation of the data! If you need these, you will have to use appropriate tool methods or create them yourself.

        Returns:
        The object for storing this Operation having simpler data types than this ExecutableComponentDescription.
      • setConfigurationDescription

        void setConfigurationDescription​(InheritedConfigurationDescription description)
        Sets the configuration description for this executable component, that is a description of all configuration values that are needed or supported at runtime. This also provides whether a configuration value is mandatory and its type.

        When changing the configuration description one has to check for conflicts that may occur in the configuration description of the configuration sets the operations of this executable component description is part of.

        The configuration description has to be set as a whole; to add or modify single entries, retrieve the complete description, add or modify the entry and provide the complete description again to this method. Use null to remove it.

        Parameters:
        description - The description for all configuration values of this executable component, that is, the name of the configuration entries, their type and whether they are mandatory. Use null to remove the configuration description.
      • setParameterTemplates

        void setParameterTemplates​(InheritedCollection<String,​ParameterTemplate> parameterTemplates)
        Sets parameter templates that are defined for this executable component description and its child entities. This allows to simplify the creation of parameters for operations, activity template definitions and activity templates for operations with a non-fixed interfaces (generic interfaces).

        When setting the parameter templates the whole collection has to be set, even in case only one parameter template has been modified. Use null for removing all parameter templates.

        Parameters:
        parameterTemplates - A collection containing all parameter templates that are defined for this executable component description and its child entities. Use null to remove all parameter templates.