Class SystemDataConstants

java.lang.Object
de.aristaflow.adept2.model.globals.SystemDataConstants

public final class SystemDataConstants extends Object
Defines constants related to data elements (especially names of pre-defined UDTs) and system data (especially SystemDataProducer).
  • Field Details

    • IDENTIFIER_ID_TEMPLATE_SUPERVISOR_AGENT

      public static final UUID IDENTIFIER_ID_TEMPLATE_SUPERVISOR_AGENT
      identifier ID of the SystemDataProducer.TEMPLATE_SUPERVISOR_AGENT_ID system data producer
    • IDENTIFIER_ID_TEMPLATE_SUPERVISOR_ORGPOSITION

      public static final UUID IDENTIFIER_ID_TEMPLATE_SUPERVISOR_ORGPOSITION
      identifier ID of the SystemDataProducer.TEMPLATE_SUPERVISOR_ORGPOSITION_ID system data producer
    • IDENTIFIER_ID_INSTANCE_SUPERVISOR_AGENT

      public static final UUID IDENTIFIER_ID_INSTANCE_SUPERVISOR_AGENT
      identifier ID of the SystemDataProducer.INSTANCE_SUPERVISOR_AGENT_ID system data producer
    • IDENTIFIER_ID_INSTANCE_SUPERVISOR_ORGPOSITION

      public static final UUID IDENTIFIER_ID_INSTANCE_SUPERVISOR_ORGPOSITION
      identifier ID of the SystemDataProducer.INSTANCE_SUPERVISOR_ORGPOSITION_ID system data producer
    • IDENTIFIER_ID_INSTANCE_INITIATOR_AGENT

      public static final UUID IDENTIFIER_ID_INSTANCE_INITIATOR_AGENT
      identifier ID of the SystemDataProducer.INSTANCE_INITIATOR_AGENT_ID system data producer
    • IDENTIFIER_ID_INSTANCE_INITIATOR_ORGPOSITION

      public static final UUID IDENTIFIER_ID_INSTANCE_INITIATOR_ORGPOSITION
      identifier ID of the SystemDataProducer.INSTANCE_INITIATOR_ORGPOSITION_ID system data producer
    • IDENTIFIER_ID_INSTANCE_CREATION_DATE

      public static final UUID IDENTIFIER_ID_INSTANCE_CREATION_DATE
      identifier ID of the SystemDataProducer.INSTANCE_CREATION_DATE system data producer
    • IDENTIFIER_ID_NODE_PERFORMING_AGENT

      public static final UUID IDENTIFIER_ID_NODE_PERFORMING_AGENT
      identifier ID of the SystemDataProducer.NODE_PERFORMING_AGENT_ID system data producer
    • IDENTIFIER_ID_NODE_PERFORMING_ORGPOSITION

      public static final UUID IDENTIFIER_ID_NODE_PERFORMING_ORGPOSITION
      identifier ID of the SystemDataProducer.NODE_PERFORMING_ORGPOSITION_ID system data producer
    • IDENTIFIER_ID_NODE_STAFF_ASSIGNMENT_RULE

      public static final UUID IDENTIFIER_ID_NODE_STAFF_ASSIGNMENT_RULE
      identifier ID of the SystemDataProducer.NODE_STAFF_ASSIGNMENT_RULE system data producer
    • IDENTIFIER_ID_NODE_TERMINATION

      public static final UUID IDENTIFIER_ID_NODE_TERMINATION
      Identifier ID for the node termination date.
    • IDENTIFIER_ID_NODE_ID

      public static final UUID IDENTIFIER_ID_NODE_ID
      Identifier for a node id.
    • IDENTIFIER_ID_NODE_ITERATION

      public static final UUID IDENTIFIER_ID_NODE_ITERATION
      Identifier ID for a node iteration.
    • IDENTIFIER_ID_IS_ACTIVITY

      public static final UUID IDENTIFIER_ID_IS_ACTIVITY
      Identifier ID for EBPType.isActivity().
    • IDENTIFIER_ID_EC_NAME

      public static final UUID IDENTIFIER_ID_EC_NAME
    • IDENTIFIER_ID_EBP_TYPE

      public static final UUID IDENTIFIER_ID_EBP_TYPE
      Identifier for the EBP type.
    • IDENTIFIER_ID_NODE_NAME

      public static final UUID IDENTIFIER_ID_NODE_NAME
      Identifier ID for a node name.
    • IDENTIFIER_ID_TEMPLATE_ID

      public static final UUID IDENTIFIER_ID_TEMPLATE_ID
      Identifier ID for a template ID.
    • IDENTIFIER_ID_TEMPLATE_NAME

      public static final UUID IDENTIFIER_ID_TEMPLATE_NAME
      Identifier ID for a template name.
    • IDENTIFIER_ID_INSTANCE_ID

      public static final UUID IDENTIFIER_ID_INSTANCE_ID
      Identifier ID for an instance ID.
    • IDENTIFIER_ID_INSTANCE_LOG_ID

      public static final UUID IDENTIFIER_ID_INSTANCE_LOG_ID
      Identifier ID for an instance log ID.
    • IDENTIFIER_ID_INSTANCE_NAME

      public static final UUID IDENTIFIER_ID_INSTANCE_NAME
      Identifier ID for an instance name.
    • IDENTIFIER_ID_DATA_CONTEXT

      public static final UUID IDENTIFIER_ID_DATA_CONTEXT
      Identifier ID for a data context.
    • IDENTIFIER_ID_ACTIVITY_ERROR_CODE

      public static final UUID IDENTIFIER_ID_ACTIVITY_ERROR_CODE
      Identifier ID for the error code of a failed activity.
    • IDENTIFIER_ID_ACTIVITY_ERROR_STATE

      public static final UUID IDENTIFIER_ID_ACTIVITY_ERROR_STATE
      Identifier ID for the error state of a failed activity.
    • IDENTIFIER_ID_ACTIVITY_ERROR_MESSAGE

      public static final UUID IDENTIFIER_ID_ACTIVITY_ERROR_MESSAGE
      Identifier ID for the error message of a failed activity.
    • IDENTIFIER_ID_ACTIVITY_ERROR_COUNT

      public static final UUID IDENTIFIER_ID_ACTIVITY_ERROR_COUNT
      Identifier ID for the error message of a failed activity.
    • UDT_NAME_DATA_CONTEXT

      public static final String UDT_NAME_DATA_CONTEXT
      The UDT name for a data container, use "Data Context" as UDT name for the corresponding data elements and parameters.
      The implementation is an XML document (the top-level element being named "dataContainer") containing an XML representation of a data container or instance data container. It conforms to the appropriate XSD de/aristaflow/adept2/model/datamanagement/defaultimplementation/xml/types.xsd. It is used in error handling processes providing the data container of a failed activity.
      See Also:
    • UDT_NAME_LOCALISATION_DATA

      public static final String UDT_NAME_LOCALISATION_DATA
      The UDT name for localisation data allowing to localise system data consumer, use "LocalisationData" as UDT name for the corresponding data elements and parameters.
      The implementation is an XML document (the top-level element being named "LocalisationData") containing a map like structure with Locale as key and the corresponding value as string being the corresponding localisation. Additionally, each localisation UDT value has an inner type being an ProcessConstants.AdeptDataType. Therefore each localisation UDT value represents the localisation of one value to various target locales. It conforms to the appropriate XSD de/aristaflow/adept2/extensions/datatypes/localisationData.xsd. It is used to localise values of parameters for SystemDataConsumers.
      See Also:
    • UDT_NAME_CONTAINER

      public static final String UDT_NAME_CONTAINER
      The UDT name for a container, use "container" as UDT name for the corresponding data elements and parameters.
      The implementation is an XML document (the top-level element being named "Container") which is a simplified (map-like) data structure similar to a data container. It conforms to the appropriate XSD de/aristaflow/adept2/extensions/datatypes/webformcontainer.xsd. It is used in the web form for combining several data values.
      See Also:
    • UDT_NAME_SUBTABLE

      public static final String UDT_NAME_SUBTABLE
      The UDT name for a subtable, use "subtable" as UDT name for the corresponding data elements and parameters.
      The implementation is an XML document (the top-level element being named "Subtable") containing rows and elements with names, types and values. It conforms to the appropriate XSD de/aristaflow/adept2/extensions/datatypes/webformsubtable.xsd. It is used in the web form for displaying table structures.
      See Also:
    • UDT_NAME_FILE

      public static final String UDT_NAME_FILE
      The UDT name for a file, use "File" as UDT name for the corresponding data elements and parameters.
      This is a simple XML document (the top-level element being named "fileUDT") containing the data as well as some metadata like file name and file type.

      Note that an UDT of this name is an XML structure and not a serialised instance of FileUDT!

      See Also:
    • UDT_NAME_FILE_UDT

      @Deprecated public static final String UDT_NAME_FILE_UDT
      Deprecated.
      Use UDT_NAME_FILE instead.
      This is a deprecated alias for UDT_NAME_FILE.
      See Also:
    • UDT_NAME_LIST_UDT

      @Deprecated public static final String UDT_NAME_LIST_UDT
      The first part of a UDT name for a typed list in a list UDT.
      See Also:
    • UDT_NAME_PATTERN_LIST_UDT

      @Deprecated public static final String UDT_NAME_PATTERN_LIST_UDT
      The UDT name pattern for a typed list in a list UDT.
      See Also:
    • UDT_NAME_SER_LIST

      @Deprecated public static final String UDT_NAME_SER_LIST
      The first part of a UDT name for a serialised typed list.
      See Also:
    • UDT_NAME_PATTERN_SER_LIST

      @Deprecated public static final String UDT_NAME_PATTERN_SER_LIST
      The UDT name pattern for a serialised typed list.
      See Also:
  • Method Details

    • isListUdt

      public static boolean isListUdt(String udtName)
      Gets whether the designated UDT name refers to a list UDT (with or without inner type).
      Parameters:
      udtName - The UDT name of which to determine the type whether it refers to a list UDT (with or without inner type).
      Returns:
      Whether the designated UDT name refers to a list UDT (with or without inner type).
      See Also:
    • isListUdt

      public static boolean isListUdt(String udtName, boolean strict)
      Gets whether the designated UDT name refers to a typed list UDT (recursively in case of strict).
      Parameters:
      udtName - The UDT name of which to determine whether it refers to a list UDT (strict or lenient).
      strict - Whether the designated UDT name needs to have proper inner types (recursively) (or just needs to refer to a list UDT without inner types).
      Returns:
      Whether the designated UDT name refers to a typed list UDT (strict or lenient).
      See Also:
    • getUdtNameListUdtOfSimpleType

      public static final String getUdtNameListUdtOfSimpleType(ProcessConstants.AdeptDataType innerType)
      Gets the UDT name for a list. The list is a simple XML document (the top-level element being named "List") containing several elements of a list of a specific type (the inner type of the list) which can also be a UDT with a specific (inner) UDT name. The XML document conforms to the appropriate XSD de/aristaflow/adept2/extensions/datatypes/list.xsd.

      When reading or writing elements from the list, use the closest Java type corresponding to the designated inner type, e. g. String, Date or UDTValue for USERDEFINED.

      Parameters:
      innerType - The inner data type of a ListUdt.
      Returns:
      The UDT name of a ListUdt having elements of the designated inner type.
      See Also:
    • getUdtNameListUdtOfUdt

      public static final String getUdtNameListUdtOfUdt(String innerType)
      Gets the UDT name for a ListUdt having elements of user-defined inner data type with the designated name. When reading or writing from the list, use UDTValue and handle its content according to the designated type. For instance, the inner type may be a fully-qualified java class name, then you can serialise from/deserialise to the input stream of the UDTValue.
      Parameters:
      innerType - The inner user-defined data type of a ListUdt.
      Returns:
      The UDT name of a ListUdt having elements of user-defined inner data type with the designated name.
      See Also:
    • isSerialisedList

      public static boolean isSerialisedList(String udtName)
      Gets whether the designated UDT name refers to a serialised list (with or without inner type).
      Parameters:
      udtName - The UDT name of which to determine whether it refers to a serialised list (with or without inner type).
      Returns:
      Whether the designated UDT name refers to a serialised list (with or without inner type).
      See Also:
    • isSerialisedList

      public static boolean isSerialisedList(String udtName, boolean strict)
      Gets whether the designated UDT name refers to a serialised list (recursively in case of strict).
      Parameters:
      udtName - The UDT name of which to determine whether it refers to a serialised list (strict or lenient).
      strict - Whether the designated UDT name needs to have proper inner types (recursively) (or just needs to refer to a list UDT without inner types).
      Returns:
      Whether the designated UDT name refers to a typed serialised list (strict or lenient).
      See Also:
    • getUdtNameListOfSimpleType

      public static final String getUdtNameListOfSimpleType(ProcessConstants.AdeptDataType innerType)
      Gets the UDT name for a serialised java.util.List. When reading just deserialise one from the UDTValue.getInputStream(), when writing serialise a java.util.List to byte[] and create an appropriate UDTValue of it. For the elements use the closest Java type corresponding to the designated inner type, e. g. String, Date or UDTValue for USERDEFINED.
      Parameters:
      innerType - The inner data type of a serialised java.util.List.
      Returns:
      The UDT name of a serialised java.util.List having elements of the designated inner type.
      See Also:
    • getUdtNameListOfUdt

      public static final String getUdtNameListOfUdt(String innerType)
      Gets the UDT name for serialised java.util.List having elements of user-defined inner data type with the designated name. When reading or writing from the list, use UDTValue and handle its content according to the designated type. For instance, the inner type may be a fully-qualified java class name, then you can serialise from/deserialise to the input stream of the UDTValue.
      Parameters:
      innerType - The inner user-defined data type of a serialised java.util.List.
      Returns:
      The UDT name of a serialised java.util.List having elements of user-defined inner data type with the designated name.
      See Also:
    • getInnerType

      public static Pair<ProcessConstants.AdeptDataType,String> getInnerType(String udtName)
      Parses the designated UDT name and returns the inner data type as well as the UDT name if appropriate. The designated UDT name has to be for a ListUdt or a serialised java.util.List.
      Parameters:
      udtName - The UDT name for a ListUdt or a serialised java.util.List. to retrieve the inner data type.
      Returns:
      A pair with the data type of the inner elements of the designated UDT name for a list. This will be null if the designated UDT name does not refer to a list. The second element of the pair will be the UDT name for the inner user-defined type or null if the inner type is not a user-defined type. If no inner type can be determined, both elements of the pair will be null.
      Throws:
      IllegalArgumentException - If the inner data type is no ProcessConstants.AdeptDataType an IllegalArgumentException will be thrown.
    • getInnerType

      public static Triple<Boolean,ProcessConstants.AdeptDataType,String> getInnerType(String udtName, boolean strict)
      Parses the designated UDT name and returns whether the type refers to a list and the corresponding inner type of the list.
      The returned triple contains the following information:
      Parameters:
      udtName - An arbitrary UDT name. If this is for a ListUdt or a serialised java.util.List, the inner type will be parsed.
      strict - Whether a list needs to have a valid inner type (this will be checked recursively). This parameter will have no effect if the designated udtName does not refer to a list.
      Returns:
      A triple with the information of the inner elements of the designated UDT name, i. e. whether it refers to a list, if so the corresponding inner type, if not, the type corresponding to the designated udtName. The third element indicates the result of the recursion in case of strict: If the designated udtName is not a completely valid type (with all inner types being correct), the third element will be null.
      Throws:
      IllegalArgumentException - If the designated UDT name is a list but its inner type is not an ProcessConstants.AdeptDataType, an IllegalArgumentException will be thrown.
    • getInnerMostType

      public static Pair<ProcessConstants.AdeptDataType,String> getInnerMostType(String udtName)
      Gets the innermost type as ProcessConstants.AdeptDataType and in case of ProcessConstants.AdeptDataType.USERDEFINED of the corresponding UDT name. The returned UDT name may be null.
      For list types this method will strip the list type part from the designated UDT name and determine the type recursively from the remaining UDT name. Recursion ends if the designated type is null (indicating a ProcessConstants.AdeptDataType.USERDEFINED type without name) or if the designated type is no list (indicating a ProcessConstants.AdeptDataType.USERDEFINED type with the designated name).
      Parameters:
      udtName - An arbitrary UDT name possibly referring to a list. This may be null.
      Returns:
      The innermost ProcessConstants.AdeptDataType found in the designated UDT name when unwrapping lists and in case of ProcessConstants.AdeptDataType.USERDEFINED the UDT name of the innermost type.
      See Also: