Enum MultiValueXmlHelper

java.lang.Object
java.lang.Enum<MultiValueXmlHelper>
org.faktorips.runtime.internal.MultiValueXmlHelper
All Implemented Interfaces:
Serializable, Comparable<MultiValueXmlHelper>, java.lang.constant.Constable

public enum MultiValueXmlHelper extends Enum<MultiValueXmlHelper>
A helper class to load and save XML elements representing multi values as they are used in attribute values.

This class should only contains static utility method mainly called by generated runtime code.

Author:
dirmeier, widmaier
  • Field Details

  • Method Details

    • values

      public static MultiValueXmlHelper[] values()
      Returns an array containing the constants of this enum type, in the order they are declared.
      Returns:
      an array containing the constants of this enum type, in the order they are declared
    • valueOf

      public static MultiValueXmlHelper valueOf(String name)
      Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum type has no constant with the specified name
      NullPointerException - if the argument is null
    • getValuesFromXML

      public static List<String> getValuesFromXML(Element attrValueElement)
      Reads String values from the an XML structure. Given the below XML (in this case an AttributeValue-Element), this method will return a List containing three strings: {null, "foo", "bar"}.
       <AttributeValue>
            <Value>
                <MultiValue>
                    <Value isNull="true"/>
                    <Value isNull="false"/> foo </Value>
                    <Value isNull="false"/> bar </Value>
                </MultiValue>
            </Value>
       </AttributeValue>
       
      Parameters:
      attrValueElement - the element to extract multiple values from
      Returns:
      a list containing all values in the given element as strings
      Throws:
      NullPointerException - if the outer value-tag or the MultiValue-Tag can not be found
    • getInternationalStringsFromXML

      public static List<org.faktorips.values.DefaultInternationalString> getInternationalStringsFromXML(Element attrValueElement)
      Reads DefaultInternationalString values from the XML structure.
      Parameters:
      attrValueElement - the element to extract multiple values from
      Returns:
      a list containing all values in the given element as international strings
      Throws:
      NullPointerException - if the outer value-tag or the MultiValue-Tag cannot be found
    • addValuesToElement

      public static void addValuesToElement(Element element, List<String> stringList)
      Adds all values in the given list as a "multi-value" child element to the given element. A list containing the values {"foo", null, "bar"} will add the following elements to the given element.
       <Value>
           <MultiValue>
               <Value isNull="false"/> foo </Value>
               <Value isNull="true"/>
               <Value isNull="false"/> bar </Value>
           </MultiValue>
       </Value>
       
    • addInternationalStringsToElement

      public static void addInternationalStringsToElement(Element element, List<org.faktorips.values.DefaultInternationalString> internationalStringList)
      Adds all international strings in the given list as a "multi-value" child element to the given element.