Package org.eclipse.persistence.jaxb
Class JAXBTypesafeEnumConverter
- java.lang.Object
-
- org.eclipse.persistence.jaxb.JAXBTypesafeEnumConverter
-
- All Implemented Interfaces:
java.io.Serializable
,CoreConverter<DatabaseMapping,Session>
,Converter
public class JAXBTypesafeEnumConverter extends java.lang.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:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description JAXBTypesafeEnumConverter()
PUBLIC: Default constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Object
convertDataValueToObjectValue(java.lang.Object dataValue, Session session)
INTERNAL: The fromString value on the enum class must be invoked with the field value specified as an argument.java.lang.Object
convertObjectValueToDataValue(java.lang.Object objectValue, Session session)
INTERNAL: Return the attribute value.java.lang.Class
getEnumClass()
PUBLIC: Get the class which was set as the enum class which contains the fromValue method.java.lang.String
getEnumClassName()
PUBLIC: Get the name of the enum class which contains the fromValue method.void
initialize(DatabaseMapping mapping, Session session)
INTERNAL: Set the enum class.boolean
isMutable()
PUBLIC: If the converter converts the value to a mutable value, i.e.void
setEnumClass(java.lang.Class enumClass)
PUBLIC: Set the enum class to know which class to invoke the fromValue method on.void
setEnumClassName(java.lang.String newClassName)
PUBLIC: Set the name of the enum class to know which class to invoke the fromValue method on.
-
-
-
Method Detail
-
convertObjectValueToDataValue
public java.lang.Object convertObjectValueToDataValue(java.lang.Object objectValue, Session session)
INTERNAL: Return the attribute value.- Specified by:
convertObjectValueToDataValue
in interfaceConverter
- Specified by:
convertObjectValueToDataValue
in interfaceCoreConverter<DatabaseMapping,Session>
-
convertDataValueToObjectValue
public java.lang.Object convertDataValueToObjectValue(java.lang.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 interfaceConverter
- Specified by:
convertDataValueToObjectValue
in interfaceCoreConverter<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.
-
initialize
public void initialize(DatabaseMapping mapping, Session session)
INTERNAL: Set the enum class.- Specified by:
initialize
in interfaceConverter
- Specified by:
initialize
in interfaceCoreConverter<DatabaseMapping,Session>
-
getEnumClassName
public java.lang.String getEnumClassName()
PUBLIC: Get the name of the enum class which contains the fromValue method.
-
setEnumClassName
public void setEnumClassName(java.lang.String newClassName)
PUBLIC: Set the name of the enum class to know which class to invoke the fromValue method on.
-
setEnumClass
public void setEnumClass(java.lang.Class enumClass)
PUBLIC: Set the enum class to know which class to invoke the fromValue method on.
-
getEnumClass
public java.lang.Class getEnumClass()
PUBLIC: Get the class which was set as the enum class which contains the fromValue method.
-
-