Interface IndexedAccessDataContainer

All Superinterfaces:
AutoCloseable, Closeable, InputDataContainer, PluginDataContainer, Serializable, UserAttributeContainer

public interface IndexedAccessDataContainer extends InputDataContainer
An IndexedAccessDataContainer extends the read-only access to input parameter from InputDataContainer by indexed access to input parameter as well as output parameters. This is used to provide data containers for activities (branches) in variable parallelism.
At runtime the number of parallel activities is determined by one (or several) lists as input parameters; for every list element an activity is instantiated in parallel. The input parameters of the activity (template) are either normal or indexed. An indexed input parameter is retrieved as one element from a list while a normal parameter is provided as a whole to each of the parallel activity instances. Output parameters are gathered since each activity has its own values. Therefore each output parameter of the activity (template) is mapped to a list of the corresponding type as output at the join-node of the variable parallelism. This gathering is also provided by this data container.

When starting a variable parallelism at runtime, the (parent) data container of the split-node is wrapped by an IndexedAccessDataContainer which in turn is referenced by the data containers created for each of the parallel activities. This allows to transparently provide values to the activities as well as gather the output parameters and provide them as lists to the parent data container.

When terminating a variable parallelism all parallel activities must have validated their written values, and this data container needs to be flushed to ensure that all session states have been stored appropriately.

Input parameters of type list may either be accessed as a whole via InputDataContainer.retrieveUDT(SessionToken, String) which contain Lists or indexed for retrieval of one element by methods of this (sub-)interface. Since all output parameters are of type list, they need to be stored by the storage methods of this interface. Additionally, also savepoints and session states are supported for all activities. Internally they need to be mapped the savepoints and session states of one application to store them in the parent data context.

The storing of output parameters is synchronised to prevent concurrent changes of the list which in turn can lead to inconsistencies.

  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final long
    Generated ID for serialisation.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Flushes all the internally stored values that have not been saved to the data manager yet.
    Gets the data container that is wrapped by this indexed access data container, that is, the wrapped data container provides lists for the indexed input parameters as well as (storing) lists for all output parameters.
    boolean
    ignoredValue(String parameterName, int index)
    Returns whether the value of the element at the designated index at the output parameter list of the designated name is or has not been set (ignored) by the application.
    void
    ignoreValue(SessionToken session, String parameterName, int index)
    Ignores the value of the element at the designated index at the output parameter list of the designated name.
    boolean
    isNull(SessionToken session, String parameterName, int index)
    Returns whether the value of the element at the designated index at the input parameter list of the designated name is NULL.
    boolean
    retrieveBoolean(SessionToken session, String parameterName, int index)
    Retrieves the boolean value of the element of type BOOLEAN at the designated index at the input parameter list of the designated name.
    retrieveDate(SessionToken session, String parameterName, int index)
    Retrieves the date value of the element of type DATE at the designated index at the input parameter list of the designated name.
    double
    retrieveFloat(SessionToken session, String parameterName, int index)
    Retrieves the double value of the element of type FLOAT at the designated index at the input parameter list of the designated name.
    long
    retrieveInteger(SessionToken session, String parameterName, int index)
    Retrieves the long value of the element of type INTEGER at the designated index at the input parameter list of the designated name.
    retrieveString(SessionToken session, String parameterName, int index)
    Retrieves the String value of the element of type STRING at the designated index at the input parameter list of the designated name.
    retrieveUDT(SessionToken session, String parameterName, int index)
    Retrieves (the proxy of) the value of the element of user-defined type (UDT) at the designated index at the input parameter list of the designated name.
    retrieveURI(SessionToken session, String parameterName, int index)
    Retrieves the URI value of the element of type URI at the designated index at the input parameter list of the designated name.
    void
    storeBoolean(SessionToken session, String parameterName, int index, boolean value)
    Stores the BOOLEAN value to the element at the designated index at the output parameter list of the designated name.
    void
    storeDate(SessionToken session, String parameterName, int index, Date value)
    Stores the DATE value to the element at the designated index at the output parameter list of the designated name.
    boolean
    storedBoolean(String parameterName, int index)
    Retrieves the boolean value of the element at the designated index at the output parameter list of the designated name stored before.
    storedDate(String parameterName, int index)
    Retrieves the date value of the element at the designated index at the output parameter list of the designated name stored before.
    double
    storedFloat(String parameterName, int index)
    Retrieves the double value of the element at the designated index at the output parameter list of the designated name stored before.
    long
    storedInteger(String parameterName, int index)
    Retrieves the long value of the element at the designated index at the output parameter list of the designated name stored before.
    storedString(String parameterName, int index)
    Retrieves the String value of the element at the designated index at the output parameter list of the designated name stored before.
    storedUDT(String parameterName, int index)
    Retrieves (the proxy of) the value of the element of user-defined type at the designated index at the output parameter list of the designated name stored before.
    storedURI(String parameterName, int index)
    Retrieves the URI value of the element at the designated index at the output parameter list of the designated name stored before.
    void
    storeFloat(SessionToken session, String parameterName, int index, double value)
    Stores the FLOAT value to the element at the designated index at the output parameter list of the designated name.
    void
    storeInteger(SessionToken session, String parameterName, int index, long value)
    Stores the INTEGER value to the element at the designated index at the output parameter list of the designated name.
    void
    storeString(SessionToken session, String parameterName, int index, String value)
    Stores the STRING value to the element at the designated index at the output parameter list of the designated name.
    void
    storeUDT(SessionToken session, String parameterName, int index, UDTValue value)
    Stores the value of user-defined type to the element at the designated index at the output parameter list of the designated name.
    void
    storeURI(SessionToken session, String parameterName, int index, URI value)
    Stores the URI value to the element at the designated index at the output parameter list of the designated name.
    boolean
    Returns whether all parallel activities have validated their data.
    void
    validateWrittenValues(SessionToken session, int index)
    Validates and verifies all values written by the application identified by the designated index.

    Methods inherited from interface java.io.Closeable

    close

    Methods inherited from interface de.aristaflow.adept2.model.datamanagement.InputDataContainer

    isNull, retrieveBoolean, retrieveDate, retrieveFloat, retrieveInteger, retrieveString, retrieveUDT, retrieveURI

    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
  • Field Details

    • serialVersionUID

      static final long serialVersionUID
      Generated ID for serialisation.
      See Also:
  • Method Details

    • getWrappedDataContainer

      DataContainer getWrappedDataContainer()
      Gets the data container that is wrapped by this indexed access data container, that is, the wrapped data container provides lists for the indexed input parameters as well as (storing) lists for all output parameters.
      Returns:
      The wrapped data container providing lists for indexed input parameters and accepting lists for all output parameters. Usually the creator of this IndexedAccessDataContainer should close it after use. But it may be feasible to close the wrapped data container via this method once after closing this IndexedAccessDataContainer.
    • isNull

      boolean isNull(SessionToken session, String parameterName, int index) throws NoSuchParameterException
      Returns whether the value of the element at the designated index at the input parameter list of the designated name is NULL. The value is also NULL in case the complete list is NULL.
      Parameters:
      session - The session which is used to check for access rights on this method.
      parameterName - The name of the list input parameter to check an element of for NULL.
      index - The index in the list of the element which to check for null.
      Returns:
      true if the value of the designated input parameter or the element at the designated index is NULL and therefore has not been written or has been consumed yet.
      Throws:
      NoSuchParameterException - If the input parameter of the designated name does not exist or the index is outside of the bounds of the list, a NoSuchParameterException will be thrown.
      See Also:
    • retrieveInteger

      long retrieveInteger(SessionToken session, String parameterName, int index) throws NoSuchParameterException, InvalidDataTypeException
      Retrieves the long value of the element of type INTEGER at the designated index at the input parameter list of the designated name. Callers should first check whether the value is NULL by calling isNull(SessionToken, String, int). Otherwise in case of NULL an IllegalStateException will be thrown.
      Parameters:
      session - The session which is used to check for access rights on this method.
      parameterName - The name of the list input parameter to read an element of.
      index - The index of the element in the list of which to retrieve the value.
      Returns:
      The value of the element in the input parameter list of ADEPT2-type INTEGER and of Java-type long.
      Throws:
      NoSuchParameterException - If the input parameter of the designated name does not exist or the index is outside of the bounds of the list, a NoSuchParameterException will be thrown.
      InvalidDataTypeException - If the designated input parameter is not of type list of INTEGER, an InvalidDataTypeException will be raised.
      IllegalStateException - If the value of the designated parameter is NULL an IllegalStateException will be thrown.
      See Also:
    • retrieveFloat

      double retrieveFloat(SessionToken session, String parameterName, int index) throws NoSuchParameterException, InvalidDataTypeException
      Retrieves the double value of the element of type FLOAT at the designated index at the input parameter list of the designated name. Callers should first check whether the value is NULL by calling isNull(SessionToken, String, int). Otherwise in case of NULL an IllegalStateException will be thrown.
      Parameters:
      session - The session which is used to check for access rights on this method.
      parameterName - The name of the list input parameter to read an element of.
      index - The index of the element in the list of which to retrieve the value.
      Returns:
      The value of the element in the input parameter list of ADEPT2-type FLOAT and of Java-type double.
      Throws:
      NoSuchParameterException - If the input parameter of the designated name does not exist or the index is outside of the bounds of the list, a NoSuchParameterException will be thrown.
      InvalidDataTypeException - If the designated input parameter is not of type list of FLOAT, an InvalidDataTypeException will be raised.
      IllegalStateException - If the value of the designated parameter is NULL an IllegalStateException will be thrown.
      See Also:
    • retrieveBoolean

      boolean retrieveBoolean(SessionToken session, String parameterName, int index) throws NoSuchParameterException, InvalidDataTypeException
      Retrieves the boolean value of the element of type BOOLEAN at the designated index at the input parameter list of the designated name. Callers should first check whether the value is NULL by calling isNull(SessionToken, String, int). Otherwise in case of NULL an IllegalStateException will be thrown.
      Parameters:
      session - The session which is used to check for access rights on this method.
      parameterName - The name of the list input parameter to read an element of.
      index - The index of the element in the list of which to retrieve the value.
      Returns:
      The value of the element in the input parameter list of ADEPT2-type BOOLEAN and of Java-type boolean.
      Throws:
      NoSuchParameterException - If the input parameter of the designated name does not exist or the index is outside of the bounds of the list, a NoSuchParameterException will be thrown.
      InvalidDataTypeException - If the designated input parameter is not of type list of FLOAT, an InvalidDataTypeException will be raised.
      IllegalStateException - If the value of the designated parameter is NULL an IllegalStateException will be thrown.
      See Also:
    • retrieveString

      String retrieveString(SessionToken session, String parameterName, int index) throws NoSuchParameterException, InvalidDataTypeException
      Retrieves the String value of the element of type STRING at the designated index at the input parameter list of the designated name. Callers should first check whether the value is NULL by calling isNull(SessionToken, String, int). Otherwise in case of NULL an IllegalStateException will be thrown.
      Parameters:
      session - The session which is used to check for access rights on this method.
      parameterName - The name of the list input parameter to read an element of.
      index - The index of the element in the list of which to retrieve the value.
      Returns:
      The value of the element in the input parameter list of ADEPT2-type STRING and of Java-type String.
      Throws:
      NoSuchParameterException - If the input parameter of the designated name does not exist or the index is outside of the bounds of the list, a NoSuchParameterException will be thrown.
      InvalidDataTypeException - If the designated input parameter is not of type list of STRING, an InvalidDataTypeException will be raised.
      IllegalStateException - If the value of the designated parameter is NULL an IllegalStateException will be thrown.
      See Also:
    • retrieveDate

      Date retrieveDate(SessionToken session, String parameterName, int index) throws NoSuchParameterException, InvalidDataTypeException
      Retrieves the date value of the element of type DATE at the designated index at the input parameter list of the designated name. Callers should first check whether the value is NULL by calling isNull(SessionToken, String, int). Otherwise in case of NULL an IllegalStateException will be thrown.
      Parameters:
      session - The session which is used to check for access rights on this method.
      parameterName - The name of the list input parameter to read an element of.
      index - The index of the element in the list of which to retrieve the value.
      Returns:
      The value of the element in the input parameter list of ADEPT2-type DATE and of Java-type java.util.Date.
      Throws:
      NoSuchParameterException - If the input parameter of the designated name does not exist or the index is outside of the bounds of the list, a NoSuchParameterException will be thrown.
      InvalidDataTypeException - If the designated input parameter is not of type list of DATE, an InvalidDataTypeException will be raised.
      IllegalStateException - If the value of the designated parameter is NULL an IllegalStateException will be thrown.
      See Also:
    • retrieveURI

      URI retrieveURI(SessionToken session, String parameterName, int index) throws NoSuchParameterException, InvalidDataTypeException
      Retrieves the URI value of the element of type URI at the designated index at the input parameter list of the designated name. Callers should first check whether the value is NULL by calling isNull(SessionToken, String, int). Otherwise in case of NULL an IllegalStateException will be thrown.
      Parameters:
      session - The session which is used to check for access rights on this method.
      parameterName - The name of the list input parameter to read an element of.
      index - The index of the element in the list of which to retrieve the value.
      Returns:
      The value of the element in the input parameter list of ADEPT2-type URI and of Java-type URI.
      Throws:
      NoSuchParameterException - If the input parameter of the designated name does not exist or the index is outside of the bounds of the list, a NoSuchParameterException will be thrown.
      InvalidDataTypeException - If the designated input parameter is not of type list of URI, an InvalidDataTypeException will be raised.
      IllegalStateException - If the value of the designated parameter is NULL an IllegalStateException will be thrown.
      See Also:
    • retrieveUDT

      UDTValue retrieveUDT(SessionToken session, String parameterName, int index) throws NoSuchParameterException, InvalidDataTypeException
      Retrieves (the proxy of) the value of the element of user-defined type (UDT) at the designated index at the input parameter list of the designated name. Callers should first check whether the value is NULL by calling isNull(SessionToken, String, int). Otherwise in case of NULL an IllegalStateException will be thrown.
      Parameters:
      session - The session which is used to check for access rights on this method.
      parameterName - The name of the list input parameter to read an element of.
      index - The index of the element in the list of which to retrieve the value.
      Returns:
      The value of the element in the input parameter list of ADEPT2-type USERDEFINED and of Java-type UDTValue. The UDTValue will be coupled to this IndexedAccessDataContainer, so do not close it; clone it if required longer than this IndexedAccessDataContainer.
      Throws:
      NoSuchParameterException - If the input parameter of the designated name does not exist or the index is outside of the bounds of the list, a NoSuchParameterException will be thrown.
      InvalidDataTypeException - If the designated input parameter is not of type list of USERDEFINED, an InvalidDataTypeException will be raised.
      IllegalStateException - If the value of the designated parameter is NULL an IllegalStateException will be thrown.
      See Also:
    • ignoreValue

      void ignoreValue(SessionToken session, String parameterName, int index) throws NoSuchParameterException
      Ignores the value of the element at the designated index at the output parameter list of the designated name. Per default every parameter value is unset, therefore this method is used to remove values that have been set by calling an appropriate store-method beforehand. This differs from setting a value explicitly to null (which is not allowed).
      Parameters:
      session - The session which is used to check for access rights on this method.
      parameterName - The name of the list output parameter to ignore an element of.
      index - The index of the element in the list of which to ignore the value.
      Throws:
      NoSuchParameterException - If the output parameter of the designated name does not exist or the index is outside of the bounds of the list, a NoSuchParameterException will be thrown.
      See Also:
    • ignoredValue

      boolean ignoredValue(String parameterName, int index) throws NoSuchParameterException
      Returns whether the value of the element at the designated index at the output parameter list of the designated name is or has not been set (ignored) by the application.
      Parameters:
      parameterName - The name of the list output parameter to check an element for being unset.
      index - The index in the list of the element which to check for being unset.
      Returns:
      true if the value of the element of the designated list output parameter is or has not been written.
      Throws:
      NoSuchParameterException - If the output parameter of the designated name does not exist or the index is outside of the bounds of the list, a NoSuchParameterException will be thrown.
      See Also:
    • storeInteger

      void storeInteger(SessionToken session, String parameterName, int index, long value) throws NoSuchParameterException, InvalidDataTypeException
      Stores the INTEGER value to the element at the designated index at the output parameter list of the designated name.
      Parameters:
      session - The session which is used to check for access rights on this method.
      parameterName - The name of the output parameter list to store an element of.
      index - The index of the element for which to store the designated value.
      value - The value as Java-type long and of ADEPT2-type INTEGER of the corresponding output parameter list.
      Throws:
      NoSuchParameterException - If the output parameter of the designated name does not exist or the index is outside of the bounds of the list, a NoSuchParameterException will be thrown.
      InvalidDataTypeException - If the designated parameter is not of type INTEGER, an InvalidDataTypeException will be raised.
      See Also:
    • storedInteger

      long storedInteger(String parameterName, int index) throws NoSuchParameterException, InvalidDataTypeException
      Retrieves the long value of the element at the designated index at the output parameter list of the designated name stored before. Callers should first check whether the value is NULL by calling ignoredValue(String, int). Otherwise in case of NULL an IllegalStateException will be thrown.
      Parameters:
      parameterName - The name of the list output parameter to read an element of stored before.
      index - The index of the element in the list of which to retrieve the value stored before.
      Returns:
      The value of the element in the output parameter list of ADEPT2-type INTEGER and of Java-type long stored before.
      Throws:
      NoSuchParameterException - If the output parameter of the designated name does not exist or the index is outside of the bounds of the list, a NoSuchParameterException will be thrown.
      InvalidDataTypeException - If the designated output parameter is not of type list of INTEGER, an InvalidDataTypeException will be raised.
      IllegalStateException - If the value of the designated parameter is NULL an IllegalStateException will be thrown.
      See Also:
    • storeFloat

      void storeFloat(SessionToken session, String parameterName, int index, double value) throws NoSuchParameterException, InvalidDataTypeException
      Stores the FLOAT value to the element at the designated index at the output parameter list of the designated name.
      Parameters:
      session - The session which is used to check for access rights on this method.
      parameterName - The name of the output parameter list to store an element of.
      index - The index of the element for which to store the designated value.
      value - The value as Java-type double and of ADEPT2-type FLOAT of the corresponding output parameter list.
      Throws:
      NoSuchParameterException - If the output parameter of the designated name does not exist or the index is outside of the bounds of the list, a NoSuchParameterException will be thrown.
      InvalidDataTypeException - If the designated parameter is not of type FLOAT, an InvalidDataTypeException will be raised.
      See Also:
    • storedFloat

      double storedFloat(String parameterName, int index) throws NoSuchParameterException, InvalidDataTypeException
      Retrieves the double value of the element at the designated index at the output parameter list of the designated name stored before. Callers should first check whether the value is NULL by calling ignoredValue(String, int). Otherwise in case of NULL an IllegalStateException will be thrown.
      Parameters:
      parameterName - The name of the list output parameter to read an element of stored before.
      index - The index of the element in the list of which to retrieve the value stored before.
      Returns:
      The value of the element in the output parameter list of ADEPT2-type FLOAT and of Java-type double stored before.
      Throws:
      InvalidDataTypeException - If the designated output parameter is not of type list of FLOAT, an InvalidDataTypeException will be raised.
      NoSuchParameterException - If the output parameter of the designated name does not exist or the index is outside of the bounds of the list, a NoSuchParameterException will be thrown.
      IllegalStateException - If the value of the designated parameter is NULL an IllegalStateException will be thrown.
      See Also:
    • storeBoolean

      void storeBoolean(SessionToken session, String parameterName, int index, boolean value) throws NoSuchParameterException, InvalidDataTypeException
      Stores the BOOLEAN value to the element at the designated index at the output parameter list of the designated name.
      Parameters:
      session - The session which is used to check for access rights on this method.
      parameterName - The name of the output parameter list to store an element of.
      index - The index of the element for which to store the designated value.
      value - The value as Java-type boolean and of ADEPT2-type BOOLEAN of the corresponding output parameter list.
      Throws:
      NoSuchParameterException - If the output parameter of the designated name does not exist or the index is outside of the bounds of the list, a NoSuchParameterException will be thrown.
      InvalidDataTypeException - If the designated parameter is not of type BOOLEAN, an InvalidDataTypeException will be raised.
      See Also:
    • storedBoolean

      boolean storedBoolean(String parameterName, int index) throws NoSuchParameterException, InvalidDataTypeException
      Retrieves the boolean value of the element at the designated index at the output parameter list of the designated name stored before. Callers should first check whether the value is NULL by calling ignoredValue(String, int). Otherwise in case of NULL an IllegalStateException will be thrown.
      Parameters:
      parameterName - The name of the list output parameter to read an element of stored before.
      index - The index of the element in the list of which to retrieve the value stored before.
      Returns:
      The value of the element in the output parameter list of ADEPT2-type BOOLEAN and of Java-type boolean stored before.
      Throws:
      NoSuchParameterException - If the output parameter of the designated name does not exist or the index is outside of the bounds of the list, a NoSuchParameterException will be thrown.
      InvalidDataTypeException - If the designated output parameter is not of type list of BOOLEAN, an InvalidDataTypeException will be raised.
      IllegalStateException - If the value of the designated parameter is NULL an IllegalStateException will be thrown.
      See Also:
    • storeString

      void storeString(SessionToken session, String parameterName, int index, String value) throws NoSuchParameterException, InvalidDataTypeException
      Stores the STRING value to the element at the designated index at the output parameter list of the designated name.
      Parameters:
      session - The session which is used to check for access rights on this method.
      parameterName - The name of the output parameter list to store an element of.
      index - The index of the element for which to store the designated value.
      value - The value as Java-type String and of ADEPT2-type STRING of the corresponding output parameter list.
      Throws:
      NoSuchParameterException - If the output parameter of the designated name does not exist or the index is outside of the bounds of the list, a NoSuchParameterException will be thrown.
      InvalidDataTypeException - If the designated parameter is not of type STRING, an InvalidDataTypeException will be raised.
      See Also:
    • storedString

      String storedString(String parameterName, int index) throws NoSuchParameterException, InvalidDataTypeException
      Retrieves the String value of the element at the designated index at the output parameter list of the designated name stored before. Callers should first check whether the value is NULL by calling ignoredValue(String, int). Otherwise in case of NULL an IllegalStateException will be thrown.
      Parameters:
      parameterName - The name of the list output parameter to read an element of stored before.
      index - The index of the element in the list of which to retrieve the value stored before.
      Returns:
      The value of the element in the output parameter list of ADEPT2-type STRING and of Java-type String stored before.
      Throws:
      NoSuchParameterException - If the output parameter of the designated name does not exist or the index is outside of the bounds of the list, a NoSuchParameterException will be thrown.
      InvalidDataTypeException - If the designated output parameter is not of type list of STRING, an InvalidDataTypeException will be raised.
      IllegalStateException - If the value of the designated parameter is NULL an IllegalStateException will be thrown.
      See Also:
    • storeDate

      void storeDate(SessionToken session, String parameterName, int index, Date value) throws NoSuchParameterException, InvalidDataTypeException
      Stores the DATE value to the element at the designated index at the output parameter list of the designated name.
      Parameters:
      session - The session which is used to check for access rights on this method.
      parameterName - The name of the output parameter list to store an element of.
      index - The index of the element for which to store the designated value.
      value - The value as Java-type java.util.Date and of ADEPT2-type DATE of the corresponding output parameter list.
      Throws:
      NoSuchParameterException - If the output parameter of the designated name does not exist or the index is outside of the bounds of the list, a NoSuchParameterException will be thrown.
      InvalidDataTypeException - If the designated parameter is not of type DATE, an InvalidDataTypeException will be raised.
      See Also:
    • storedDate

      Date storedDate(String parameterName, int index) throws NoSuchParameterException, InvalidDataTypeException
      Retrieves the date value of the element at the designated index at the output parameter list of the designated name stored before. Callers should first check whether the value is NULL by calling ignoredValue(String, int). Otherwise in case of NULL an IllegalStateException will be thrown.
      Parameters:
      parameterName - The name of the list output parameter to read an element of stored before.
      index - The index of the element in the list of which to retrieve the value stored before.
      Returns:
      The value of the element in the output parameter list of ADEPT2-type DATE and of Java-type java.util.Date stored before.
      Throws:
      NoSuchParameterException - If the output parameter of the designated name does not exist or the index is outside of the bounds of the list, a NoSuchParameterException will be thrown.
      InvalidDataTypeException - If the designated output parameter is not of type list of DATE, an InvalidDataTypeException will be raised.
      IllegalStateException - If the value of the designated parameter is NULL an IllegalStateException will be thrown.
      See Also:
    • storeURI

      void storeURI(SessionToken session, String parameterName, int index, URI value) throws NoSuchParameterException, InvalidDataTypeException
      Stores the URI value to the element at the designated index at the output parameter list of the designated name.
      Parameters:
      session - The session which is used to check for access rights on this method.
      parameterName - The name of the output parameter list to store an element of.
      index - The index of the element for which to store the designated value.
      value - The value as Java-type URI and of ADEPT2-type URI of the corresponding output parameter list.
      Throws:
      NoSuchParameterException - If the output parameter of the designated name does not exist or the index is outside of the bounds of the list, a NoSuchParameterException will be thrown.
      InvalidDataTypeException - If the designated parameter is not of type STRING, an InvalidDataTypeException will be raised.
      See Also:
    • storedURI

      URI storedURI(String parameterName, int index) throws NoSuchParameterException, InvalidDataTypeException
      Retrieves the URI value of the element at the designated index at the output parameter list of the designated name stored before. Callers should first check whether the value is NULL by calling ignoredValue(String, int). Otherwise in case of NULL an IllegalStateException will be thrown.
      Parameters:
      parameterName - The name of the list output parameter to read an element of stored before.
      index - The index of the element in the list of which to retrieve the value stored before.
      Returns:
      The value of the element in the output parameter list of ADEPT2-type URI and of Java-type URI stored before.
      Throws:
      NoSuchParameterException - If the output parameter of the designated name does not exist or the index is outside of the bounds of the list, a NoSuchParameterException will be thrown.
      InvalidDataTypeException - If the designated output parameter is not of type list of URI, an InvalidDataTypeException will be raised.
      IllegalStateException - If the value of the designated parameter is NULL an IllegalStateException will be thrown.
      See Also:
    • storeUDT

      void storeUDT(SessionToken session, String parameterName, int index, UDTValue value) throws NoSuchParameterException, InvalidDataTypeException
      Stores the value of user-defined type to the element at the designated index at the output parameter list of the designated name.
      Parameters:
      session - The session which is used to check for access rights on this method.
      parameterName - The name of the output parameter list to store an element of.
      index - The index of the element for which to store the designated value.
      value - The value of the element of ADEPT2-type USERDEFINED of the corresponding output parameter list. The caller is responsible for closing.
      Throws:
      NoSuchParameterException - If the output parameter of the designated name does not exist or the index is outside of the bounds of the list, a NoSuchParameterException will be thrown.
      InvalidDataTypeException - If the designated parameter is not of type USERDEFINED, an InvalidDataTypeException will be raised.
      See Also:
    • storedUDT

      UDTValue storedUDT(String parameterName, int index) throws NoSuchParameterException, InvalidDataTypeException
      Retrieves (the proxy of) the value of the element of user-defined type at the designated index at the output parameter list of the designated name stored before. Callers should first check whether the value is NULL by calling ignoredValue(String, int). Otherwise in case of NULL an IllegalStateException will be thrown.
      Parameters:
      parameterName - The name of the list output parameter to read an element of stored before.
      index - The index of the element in the list of which to retrieve the value stored before.
      Returns:
      The value of the element in the output parameter list of ADEPT2-type USERDEFINED and of Java-type UDTValue stored before. The UDTValue will be coupled to this IndexedAccessDataContainer, so do not close it; clone it if required longer than this IndexedAccessDataContainer.
      Throws:
      NoSuchParameterException - If the output parameter of the designated name does not exist or the index is outside of the bounds of the list, a NoSuchParameterException will be thrown.
      InvalidDataTypeException - If the designated output parameter is not of type list of USERDEFINED, an InvalidDataTypeException will be raised.
      IllegalStateException - If the value of the designated parameter is NULL an IllegalStateException will be thrown.
      See Also:
    • validateWrittenValues

      void validateWrittenValues(SessionToken session, int index) throws ValidationFailedException
      Validates and verifies all values written by the application identified by the designated index. This checks whether all mandatory output parameters have valid values. This method is to be called when terminating the execution of the designated application.
      Parameters:
      session - The session which is used to check for access rights on this method.
      index - The index identifying the application of which to validate the written values.
      Throws:
      ValidationFailedException - If the validation fails, for instance due to missing values of mandatory output parameters, a ValidationFailedException will be thrown.
    • validatedAll

      boolean validatedAll()
      Returns whether all parallel activities have validated their data. This allows to synchronise. Otherwise it may happen that all activities/subinstances have terminated but validated yet since validation is done asynchronously after the successful termination of the corresponding activity/subinstance.
      Returns:
      Whether all parallel activities have validated their data.
    • flush

      void flush(SessionToken session) throws InvalidDataContainerException
      Flushes all the internally stored values that have not been saved to the data manager yet. That is, these values are intermediately stored as output parameter lists and/or in a session state in the parent data container.
      This allows to intermediately stop the subprocess manager.

      Be sure to call this method before validating the values of the parent data container, that is, when terminating the corresponding (variable parallelism) process step.

      Parameters:
      session - The session which is used to synchronise access and to check for access rights on this method.
      Throws:
      InvalidDataContainerException - If the wrapped data container does not allow to write all output parameters, an InvalidDataContainerException will be raised.