Interface ConfigurationDescription.ConfigurationEntry

  • All Superinterfaces:
    PluginDataContainer, UserAttributeContainer
    Enclosing interface:
    ConfigurationDescription

    public static interface ConfigurationDescription.ConfigurationEntry
    extends UserAttributeContainer, PluginDataContainer
    A configuration entry declares a configuration value and provides additional information for it, that is a name for the entry, a description, the data type and restrictions on the type as well as the usage of the configuration value.

    A configuration value may be of any data type that is also allowed for a data element in a process. This allows to retrieve a configuration value dynamically at runtime from a data element of the corresponding process instead of providing it statically while modelling.

    Author:
    Ulrich Kreher
    • Method Detail

      • getName

        String getName()
        Gets the unique (with respect to the configuration description hierarchy, that is the parent configuration descriptions) name of this entry. This name is also used as key for retrieving the corresponding configuration value.
        Returns:
        The name of this configuration entry for unique identification of the corresponding description value. This is unique with respect to the corresponding configuration hierarchy (and also the configuration description hierarchy).
      • getDescription

        String getDescription()
        Gets a user-friendly description (including its localisation) for a configuration entry. This allows the user to understand the configuration entry and set the value appropriately.
        Returns:
        A user-friendly description for a configuration entry.
      • getDataType

        ProcessConstants.AdeptDataType getDataType()
        Gets the data type of the configuration entry, which is an AdeptDataType. This allows to mix parameter values and configuration values. However, since configurations are usually based on simple strings, implementations of Configurations need to provide appropriate conversion methods between these types and a string representation thereof. This is also crucial when editing the corresponding configuration file or setting the configuration value via a string type (ChangeableConfiguration.setString(String, String))!
        Returns:
        The data type of the configuration entry. This allows for type-safe access to the configuration.
      • isOptional

        boolean isOptional()
        Gets whether this configuration entry is optional and is therefore not needed at runtime by the corresponding executable component.
        Non-optional (mandatory) configuration values have to be provided just before starting the executable component. This may be done by declaring them statically at modelling time, retrieving them at runtime from the global configuration or from an appropriate input parameter of the component. Therefore the presence of a mandatory configuration value cannot be checked until right before calling the component. If the value is still missing then, the component will not be instantiated, initialised and started at all. Instead the corresponding process step will be set to FAILED.
        Returns:
        Whether this configuration value is optional and is therefore not needed for executing the corresponding executable component. Note that the existence of a non-optional (mandatory) configuration value is not checked until just before instantiating/initialising the corresponding executable component.
      • getRestrictions

        String[] getRestrictions()
        Gets the restrictions that apply to this configuration entry value. The restriction allows for some more type-safety when handling configuration values that may stem from simple string-based configuration files.
        Returns:
        The restrictions that apply to the configuration entry value. These allow for more type-safety, especially for string-based configuration files.