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)
String
getCheckCondition(String columnName, JdbcType jdbcType, BasicValueConverter<?,?> converter, Dialect dialect)
The check constraint that should be added to the column definition in generated DDL.JdbcType
getRecommendedJdbcType(JdbcTypeIndicators context)
Obtain the "recommended"SQL type descriptor
for this Java type.boolean
hasManyValues()
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.boolean
useObjectEqualsHashCode()
Whether to useObject.equals(Object)
andObject.hashCode()
orJavaType.areEqual(Object, Object)
andJavaType.extractHashCode(Object)
for objects of this java 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, getTypeName, isInstance, isTemporalType, isWider
-
-
-
-
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()
-
useObjectEqualsHashCode
public boolean useObjectEqualsHashCode()
Description copied from interface:JavaType
Whether to useObject.equals(Object)
andObject.hashCode()
orJavaType.areEqual(Object, Object)
andJavaType.extractHashCode(Object)
for objects of this java type. This is useful to avoid mega-morphic callsites.
-
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
-
-