Class EnumJavaType<T extends Enum<T>>
- java.lang.Object
-
- org.hibernate.type.descriptor.java.AbstractClassJavaType<T>
-
- org.hibernate.type.descriptor.java.EnumJavaType<T>
-
- All Implemented Interfaces:
Serializable
,BasicJavaType<T>
,JavaType<T>
public class EnumJavaType<T extends Enum<T>> extends AbstractClassJavaType<T>
Describes a Javaenum
type.- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.hibernate.type.descriptor.java.JavaType
JavaType.CoercionContext
-
-
Constructor Summary
Constructors Constructor Description EnumJavaType(Class<T> type)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description T
fromByte(Byte relationalForm)
Interpret a numeric value as the ordinal of the enum typeT
fromInteger(Integer relationalForm)
Interpret a numeric value as the ordinal of the enum typeT
fromLong(Long relationalForm)
Interpret a numeric value as the ordinal of the enum typeT
fromName(String relationalForm)
Interpret a String value as the named value of the enum typeT
fromOrdinal(Integer relationalForm)
Interpret a numeric value as the ordinal of the enum typeT
fromShort(Short relationalForm)
Interpret a numeric value as the ordinal of the enum typeT
fromString(CharSequence string)
JdbcType
getRecommendedJdbcType(JdbcTypeIndicators context)
Obtain the "recommended"SQL type descriptor
for this Java type.boolean
hasManyValues()
boolean
isWider(JavaType<?> javaType)
Determines if this Java type is wider than the given Java type, that is, if the given type can be safely widened to this type.Byte
toByte(T domainForm)
Convert a value of the enum type to its ordinal valueInteger
toInteger(T domainForm)
Convert a value of the enum type to its ordinal valueLong
toLong(T domainForm)
Convert a value of the enum type to its ordinal valueString
toName(T domainForm)
Convert a value of the enum type to its name valueInteger
toOrdinal(T domainForm)
Convert a value of the enum type to its ordinal valueShort
toShort(T domainForm)
Convert a value of the enum type to its ordinal valueString
toString(T value)
<X> X
unwrap(T value, Class<X> type, WrapperOptions options)
Unwrap an instance of our handled Java type into the requested type.<X> T
wrap(X value, WrapperOptions options)
Wrap a value as our handled Java type.-
Methods inherited from class org.hibernate.type.descriptor.java.AbstractClassJavaType
areEqual, extractHashCode, extractLoggableRepresentation, getComparator, getJavaType, getJavaTypeClass, getMutabilityPlan, unknownUnwrap, unknownWrap
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.hibernate.type.descriptor.java.JavaType
appendEncodedString, coerce, createJavaType, createJavaType, fromEncodedString, getDefaultSqlLength, getDefaultSqlPrecision, getDefaultSqlScale, getDefaultValue, getLongSqlLength, getReplacement, isInstance, isTemporalType
-
-
-
-
Method Detail
-
getRecommendedJdbcType
public JdbcType getRecommendedJdbcType(JdbcTypeIndicators context)
Description copied from interface:BasicJavaType
Obtain the "recommended"SQL type descriptor
for this Java type. Often, but not always, the source of this recommendation is the JDBC specification.- Parameters:
context
- Contextual information- Returns:
- The recommended SQL type descriptor
-
hasManyValues
public boolean hasManyValues()
-
fromString
public T fromString(CharSequence string)
-
unwrap
public <X> X unwrap(T value, Class<X> type, WrapperOptions options)
Description copied from interface:JavaType
Unwrap an instance of our handled Java type into the requested type.As an example, if this is a
JavaType<Integer>
and we are asked to unwrap theInteger value
as aLong
, we would return something likeLong.valueOf( value.longValue() )
.Intended use is during
PreparedStatement
binding.- Type Parameters:
X
- The conversion type.- Parameters:
value
- The value to unwraptype
- The type as which to unwrapoptions
- The options- Returns:
- The unwrapped value.
-
wrap
public <X> T wrap(X value, WrapperOptions options)
Description copied from interface:JavaType
Wrap a value as our handled Java type.Intended use is during
ResultSet
extraction.- Type Parameters:
X
- The conversion type.- Parameters:
value
- The value to wrap.options
- The options- Returns:
- The wrapped value.
-
toInteger
public Integer toInteger(T domainForm)
Convert a value of the enum type to its ordinal value
-
toOrdinal
public Integer toOrdinal(T domainForm)
Convert a value of the enum type to its ordinal value
-
fromByte
public T fromByte(Byte relationalForm)
Interpret a numeric value as the ordinal of the enum type
-
fromShort
public T fromShort(Short relationalForm)
Interpret a numeric value as the ordinal of the enum type
-
fromInteger
public T fromInteger(Integer relationalForm)
Interpret a numeric value as the ordinal of the enum type
-
fromLong
public T fromLong(Long relationalForm)
Interpret a numeric value as the ordinal of the enum type
-
fromOrdinal
public T fromOrdinal(Integer relationalForm)
Interpret a numeric value as the ordinal of the enum type
-
fromName
public T fromName(String relationalForm)
Interpret a String value as the named value of the enum type
-
-