Interface IFormDataAdapter

All Superinterfaces:
Serializable
All Known Implementing Classes:
ASaveFormData, FormDataAdapterWrapper, GenericSaveFormData

public interface IFormDataAdapter extends Serializable
Interface for form data. The IFormDataAdapter encapsulates the submitted form data and provides several utility methods for accessing and manipulating that data. This adapter is created before workflow processing starts and is passed on to the individual workflow actions.
Author:
XIMA MEDIA GmbH
  • Method Details

    • init

      @Deprecated default void init(Map<String, List<String>> dataMap)
      Deprecated.
      Parameters:
      dataMap - Map with form values (non uploads).
    • init

      default void init(Map<String, List<String>> dataMap, Map<String, List<org.apache.commons.fileupload.FileItem>> uploadMap)
    • init

      @Deprecated default void init(Map<String, List<String>> dataMap, List<String> sendElements)
      Deprecated.
      Parameters:
      dataMap - Map with form values (non uploads).
      sendElements - Elements that were rendered.
    • init

      void init(Map<String, List<String>> dataMap, Map<String, List<org.apache.commons.fileupload.FileItem>> uploadMap, List<String> sendElements)
    • resolveFieldAlias

      default String resolveFieldAlias(String alias)
    • resolveFieldName

      default String resolveFieldName(String fieldName)
    • getFieldTyp

      default EFormFieldTyp getFieldTyp(String identifier, boolean asAlias)
      Parameters:
      identifier - The name of a form element.
      asAlias - If true, interpret the given identifier as the alias name of the form element. If false, interpret the given identifier as the name of the form element.
      Returns:
      The form field type for the given element; or null when the given element does not exist.
    • getFieldAlias

      default Set<String> getFieldAlias()
      Returns:
      A Set consisting of the alias names of all existing form elements.
    • getFieldMetaData

      @Deprecated default FormFieldMetaData getFieldMetaData(String identifier, boolean asAlias)
      Parameters:
      identifier - Identifier, either a name or alias.
      asAlias - Whether the identifier is a field name or a field alias.
      Returns:
      The metadata for the given field.
    • aliasValue

      default Object aliasValue(String alias)
    • hasAlias

      default boolean hasAlias(String alias)
      Parameters:
      alias - An alias name to check.
      Returns:
      true if a form element with the given alias exists, or false otherwise.
    • resolveFieldType

      default EFormFieldTyp resolveFieldType(String fieldName, boolean asAlias)
    • getFieldAliasMap

      Map<String,String> getFieldAliasMap()
      Returns:
      A Map that maps from the name of a form elements to its alias name.
      See Also:
    • getAliasFieldMap

      Map<String,String> getAliasFieldMap()
      Returns:
      A Map that maps from the alias name of a form elements to its name.
      See Also:
    • getFieldMetaDataMap

      @Deprecated default Map<String, FormFieldMetaData> getFieldMetaDataMap()
      Deprecated.
      Returns:
      A map with the metadata for each element. The key is the field name, e.g. tf1
    • getIFieldMetaDataMap

      Map<String, IFieldMetaData> getIFieldMetaDataMap()
    • getDynContainerMap

      @Deprecated default Map<String, FormContainerMetaData> getDynContainerMap()
      Deprecated.
      Returns:
      A map from the name of a repeated container or element to the metadata for that repeated container or element.
    • getIDynContainerMap

      Map<String, IFormContainerMetaData> getIDynContainerMap()
      Returns:
      A map from the name of a repeated container or element to the metadata for that repeated container or element.
    • getDynFieldSet

      @Deprecated default HashSet<String> getDynFieldSet()
      Deprecated.
      Returns:
      A set that consists of the names of all form elements which are repeated and that have a value.
      See Also:
    • getDynFieldSets

      Set<String> getDynFieldSets()
      Returns:
      A set that consists of the names of all form elements which are repeated and that have a value.
      See Also:
    • getFieldNotesRead

      @Deprecated Map<String, List<String>> getFieldNotesRead()
      Deprecated.
      Field notes do not exist anymore.
      Gets a map with notes for form fields that were already read by a user. The key is the name of the field, e.g. tf1.
      Returns:
      Am map with all read field notes.
    • getFieldNotesUnread

      @Deprecated Map<String, List<String>> getFieldNotesUnread()
      Deprecated.
      Field notes do not exist anymore.
      Gets a map with notes for form fields that were not yet read by a user. The key is the name of the field, e.g. tf1.
      Returns:
      Am map with all unread field notes.
    • getNormName

      default String getNormName(String fieldName)
      For each element, a name is defined in the designer. When the element is marked as a repeated elements, the created elements get a name that consists of the original name and a suffix. This method takes a name that may contain such a suffix and returns the original form element name.
      Parameters:
      fieldName - A form element that may contain suffixes such as the suffix for repeated elements.
      Returns:
      The given name, normalized to the form element name as defined in the designer.
    • getSendElements

      Set<String> getSendElements()
      Returns:
      A Set of all elements for which a value was submitted in the (usually POST) request.
    • valuesMapHasValue

      default boolean valuesMapHasValue(String fieldName)
    • getStringValue

      default String getStringValue(String fieldName)
      Each form element may have multiple values. This returns the first value.
      Parameters:
      fieldName - The name of a form element.
      Returns:
      The first value for the given form element, or the empty string when no value or the form element does not exist.
    • getRequestDataMap

      Map<String, List<String>> getRequestDataMap()
    • mergeRequestData

      void mergeRequestData(Map<String, List<String>> oldData)
    • getFieldValues

      default List<String[]> getFieldValues(String fieldName)
      Parameters:
      fieldName - The name of a form element.
      Returns:
      A List of all values for the given form element, or null if the given form element does not exist.
    • hasField

      default boolean hasField(String fieldName)
      ERSTMAL: Liefert true, wenn das Formular ein Feld mit dem übergebenen Namen besitzt.
      Parameters:
      fieldName - the field to check for
      Returns:
      Liefert true, wenn das Formular ein Feld mit dem übergebenen Namen besitzt
    • getFieldValuesMap

      Map<String, List<String[]>> getFieldValuesMap()
      Returns:
      A Map that maps from the name of a form element to its values.
    • buildDatatableValuesMap

      default Map<String,String> buildDatatableValuesMap(ITableTemplate<? extends ITableColumn> template)
    • isElementLooped

      default boolean isElementLooped(String elementName)
      A repeated form element (also called dynamic or looped) is a form element of which the user can create multiple copies of as they fill out the form. This method checks whether the given form element is repeated.
      Parameters:
      elementName - The name of a form element to check.
      Returns:
      true if the form element is a repeated element, false otherwise (or if the given element does not exist).
    • isQuestionElement

      boolean isQuestionElement(String elementName)
    • loopCount

      int loopCount(String elementName)
      A repeated form element (also called dynamic or looped) is a form element of which the user can create multiple copies of as they fill out the form. This method returns how many copies were created.
      Parameters:
      elementName - The name of a form element.
      Returns:
      The number of repetitions of the given repeated form element, or 0 in case the element is not a repeated element.
      See Also:
    • getMetaDataMap

      Map<String,String> getMetaDataMap()
    • resolveAliasName

      default String resolveAliasName(String alias)
      Parameters:
      alias - The alias of a form element.
      Returns:
      The resolved alias, i.e. the name of the form element with the given alias. Returns the given alias in case no form element with the given alias exists.
      See Also:
    • getIFieldMetaData

      default IFieldMetaData getIFieldMetaData(String identifier, boolean asAlias)
    • asStringValue

      default String asStringValue(List<String[]> value)
      Parameters:
      value - A List of values to be converted.
      Returns:
      The given values, joined with a comma; or the empty string in case null or no values were given.
    • asStringValue

      default String asStringValue(String[] value)
      Parameters:
      value - An array of values to be converted.
      Returns:
      The given values, joined with a comma; or the empty string in case null or no values were given.
    • addSingleValue

      default void addSingleValue(String fieldName, String... value)
      Adds the given values to the values of the form element. If one or multiple values exist already for the given form element, they are preserved. Please note that the value of a form element is a List of arrays of Strings, this adds the given values to the first entry in the List of values.
      Parameters:
      fieldName - The name of a form element.
      value - One or multiple values to add for the given element.
      See Also:
    • addMultiValue

      default void addMultiValue(String fieldName, List<String[]> values)
      Adds the given values to the values of the form element. If one or multiple values exist already for the given form element, they are preserved.
      Parameters:
      fieldName - The name of a form element.
      values - A List of values to add to the form element.
      See Also:
    • addRequestValue

      void addRequestValue(String fieldName, List<String> values)
    • getFields

      default Set<String> getFields()
    • normalizeValue

      default String[] normalizeValue(String... value)
      Parameters:
      value - A list of values.
      Returns:
      The given list of values, or an empty array in case null was given.
    • normalizeValue

      default String[] normalizeValue(List<String> value)
      Parameters:
      value - A List of values.
      Returns:
      An array with the given values, or an empty array in case null was given.
    • normalizeValues

      default List<String[]> normalizeValues(List<String> stringList)
      Parameters:
      stringList - A list of values.
      Returns:
      A List with only a single entry, an array containing the given values.
    • createCompleteDynContainerMap

      default Map<String, IFormContainerMetaData> createCompleteDynContainerMap()
      Returns:
      Similar to the getDynContainerMap(), but also contains a value for each valuable element (not container elements etc.) in each repeated container.