Class PrimitiveByteArrayJavaType
- All Implemented Interfaces:
Serializable, BasicJavaType<byte[]>, JavaType<byte[]>, VersionJavaType<byte[]>
byte[] handling.- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from interface JavaType
JavaType.CoercionContext -
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidappendString(StringBuilder appender, byte[] bytes) voidappendString(SqlAppender appender, byte[] bytes) booleanareEqual(byte[] one, byte[] another) Determine if two instances are equalbyte[]byte[]Coerce the given value to this type, if possible.intextractHashCode(byte[] bytes) Extract a proper hash code for the given value.extractLoggableRepresentation(byte[] value) Extract a loggable representation of the given value.byte[]fromString(CharSequence string) booleanisInstance(Object value) Is the given value an instance of the described type?byte[]next(byte[] current, Long length, Integer precision, Integer scale, SharedSessionContractImplementor session) Increment the version.byte[]seed(Long length, Integer precision, Integer scale, SharedSessionContractImplementor session) Generate an initial version.toString(byte[] bytes) <X> Xunwrap(byte[] value, Class<X> type, WrapperOptions options) Unwrap an instance of our handled Java type into the requested type.<X> byte[]wrap(X value, WrapperOptions options) Wrap a value as our handled Java type.Methods inherited from class AbstractClassJavaType
getComparator, getJavaType, getJavaTypeClass, getMutabilityPlan, unknownUnwrap, unknownWrapMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface BasicJavaType
getRecommendedJdbcTypeMethods inherited from interface JavaType
appendEncodedString, createJavaType, fromEncodedString, fromEncodedString, getCheckCondition, getComparator, getDefaultSqlLength, getDefaultSqlPrecision, getDefaultSqlScale, getDefaultValue, getJavaType, getJavaTypeClass, getLongSqlLength, getMutabilityPlan, getReplacement, getTypeName, isTemporalType, isWider, useObjectEqualsHashCode
-
Field Details
-
INSTANCE
-
-
Constructor Details
-
PrimitiveByteArrayJavaType
public PrimitiveByteArrayJavaType()
-
-
Method Details
-
isInstance
Description copied from interface:JavaTypeIs the given value an instance of the described type?Usually just
getJavaTypeClass().isInstance(value), but some descriptors need specialized semantics, for example, the descriptors forjava.sql.Date,java.sql.Time, andjava.sql.Timestamp.For
EntityJavaType, this method handles proxies in a semantically correct way, by checking the entity instance underlying the proxy object.- Specified by:
isInstancein interfaceJavaType<byte[]>
-
cast
Description copied from interface:JavaTypeApply a simple type cast to the given value, without attempting any sort of coercion or wrapping. This method is provided as a convenient way to avoid an unchecked cast to a type variable. UsejavaType.cast(value)instead of(T) valuewherever possible.Usually just
getJavaTypeClass().cast(value), but overridden in some cases as an "optimization". This optimization is almost certainly unnecessary, and might even indeed be harmful, sinceClass.cast()is an intrinsic. -
areEqual
public boolean areEqual(byte[] one, byte[] another) Description copied from interface:JavaTypeDetermine if two instances are equal- Specified by:
areEqualin interfaceJavaType<byte[]>- Overrides:
areEqualin classAbstractClassJavaType<byte[]>- Parameters:
one- One instanceanother- The other instance- Returns:
- True if the two are considered equal; false otherwise.
-
extractHashCode
public int extractHashCode(byte[] bytes) Description copied from interface:JavaTypeExtract a proper hash code for the given value.- Specified by:
extractHashCodein interfaceJavaType<byte[]>- Overrides:
extractHashCodein classAbstractClassJavaType<byte[]>- Parameters:
bytes- The value for which to extract a hash code.- Returns:
- The extracted hash code.
-
toString
-
appendString
-
appendString
-
extractLoggableRepresentation
Description copied from interface:JavaTypeExtract a loggable representation of the given value.- Specified by:
extractLoggableRepresentationin interfaceJavaType<byte[]>- Overrides:
extractLoggableRepresentationin classAbstractClassJavaType<byte[]>- Parameters:
value- The value for which to extract a loggable representation.- Returns:
- The loggable representation
-
fromString
- Specified by:
fromStringin interfaceBasicJavaType<byte[]>- Specified by:
fromStringin interfaceJavaType<byte[]>
-
unwrap
Description copied from interface:JavaTypeUnwrap 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 valueas aLong, we would return something likeLong.valueOf( value.longValue() ).Intended use is during
PreparedStatementbinding. -
wrap
-
coerce
Description copied from interface:JavaTypeCoerce the given value to this type, if possible.This method differs from
wrap()in that it allows simple, basic, implicit type conversions, and does not requireWrapperOptions. Thewrap()method may be thought of as offering explicitly requested type conversions driven by a choice ofJdbcType.An implementation of this method reports failure in one of two ways, by:
- throwing
CoercionException, or - simply returning the given uncoerced value.
Therefore, this method is declared to return
Object. In case immediate coercion is required, the following idiom may be used:javaType.cast(javaType.coerce(value))
- throwing
-