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.ObjectconvertDataValueToObjectValue(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.ObjectconvertObjectValueToDataValue(java.lang.Object objectValue, Session session)INTERNAL: Return the attribute value.java.lang.ClassgetEnumClass()PUBLIC: Get the class which was set as the enum class which contains the fromValue method.java.lang.StringgetEnumClassName()PUBLIC: Get the name of the enum class which contains the fromValue method.voidinitialize(DatabaseMapping mapping, Session session)INTERNAL: Set the enum class.booleanisMutable()PUBLIC: If the converter converts the value to a mutable value, i.e.voidsetEnumClass(java.lang.Class enumClass)PUBLIC: Set the enum class to know which class to invoke the fromValue method on.voidsetEnumClassName(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:
convertObjectValueToDataValuein interfaceConverter- Specified by:
convertObjectValueToDataValuein 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:
convertDataValueToObjectValuein interfaceConverter- Specified by:
convertDataValueToObjectValuein interfaceCoreConverter<DatabaseMapping,Session>
-
isMutable
public boolean isMutable()
Description copied from interface:ConverterPUBLIC: 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:
initializein interfaceConverter- Specified by:
initializein 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.
-
-