Class JAXBTypesafeEnumConverter

All Implemented Interfaces:
Serializable, CoreConverter<DatabaseMapping,Session>, Converter

public class JAXBTypesafeEnumConverter extends Object implements Converter
Purpose: JAXBTypesafeEnumConverter is used to allow mapping to type safe enums according to the JAXB 1.0 spec. Object values are not modified by the converter when writing data values. Data values are read in and the "fromString" method on the enumeration class is invoked with the data value as a parameter. The return value from the "fromString" method will be an instance of the enum class specified on the mapping.
See Also:
  • Constructor Details

    • JAXBTypesafeEnumConverter

      public JAXBTypesafeEnumConverter()
      PUBLIC: Default constructor.
  • Method Details

    • convertObjectValueToDataValue

      public Object convertObjectValueToDataValue(Object objectValue, Session session)
      INTERNAL: Return the attribute value.
      Specified by:
      convertObjectValueToDataValue in interface Converter
      Specified by:
      convertObjectValueToDataValue in interface CoreConverter<DatabaseMapping,Session>
    • convertDataValueToObjectValue

      public Object convertDataValueToObjectValue(Object dataValue, Session session)
      INTERNAL: The fromString value on the enum class must be invoked with the field value specified as an argument. The result returned should be an instance of the enum class.
      Specified by:
      convertDataValueToObjectValue in interface Converter
      Specified by:
      convertDataValueToObjectValue in interface CoreConverter<DatabaseMapping,Session>
    • isMutable

      public boolean isMutable()
      Description copied from interface: Converter
      PUBLIC: If the converter converts the value to a mutable value, i.e. a value that can have its' parts changed without being replaced, then it must return true. If the value is not mutable, cannot be changed without replacing the whole value then false must be returned. This is used within the UnitOfWork to determine how to clone.
      Specified by:
      isMutable in interface Converter
    • initialize

      public void initialize(DatabaseMapping mapping, Session session)
      INTERNAL: Set the enum class.
      Specified by:
      initialize in interface Converter
      Specified by:
      initialize in interface CoreConverter<DatabaseMapping,Session>
    • getEnumClassName

      public String getEnumClassName()
      PUBLIC: Get the name of the enum class which contains the fromValue method.
    • setEnumClassName

      public void setEnumClassName(String newClassName)
      PUBLIC: Set the name of the enum class to know which class to invoke the fromValue method on.
    • setEnumClass

      public void setEnumClass(Class enumClass)
      PUBLIC: Set the enum class to know which class to invoke the fromValue method on.
    • getEnumClass

      public Class getEnumClass()
      PUBLIC: Get the class which was set as the enum class which contains the fromValue method.