org.hibernate.type.descriptor.java
Class BlobTypeDescriptor

java.lang.Object
  extended by org.hibernate.type.descriptor.java.AbstractTypeDescriptor<Blob>
      extended by org.hibernate.type.descriptor.java.BlobTypeDescriptor
All Implemented Interfaces:
Serializable, JavaTypeDescriptor<Blob>

public class BlobTypeDescriptor
extends AbstractTypeDescriptor<Blob>

Descriptor for Blob handling.

Note, blobs really are mutable (their internal state can in fact be mutated). We simply treat them as immutable because we cannot properly check them for changes nor deep copy them.

See Also:
Serialized Form

Nested Class Summary
static class BlobTypeDescriptor.BlobMutabilityPlan
           
 
Field Summary
static BlobTypeDescriptor INSTANCE
           
 
Constructor Summary
BlobTypeDescriptor()
           
 
Method Summary
 boolean areEqual(Blob one, Blob another)
          Determine if two instances are equal
 int extractHashCode(Blob value)
          Extract a proper hash code for this value.
 Blob fromString(String string)
          
 Comparator<Blob> getComparator()
          Retrieve the natural comparator for this type.
 String toString(Blob value)
          
<X> X
unwrap(Blob value, Class<X> type, WrapperOptions options)
          Unwrap an instance of our handled Java type into the requested type.
<X> Blob
wrap(X value, WrapperOptions options)
          Wrap a value as our handled Java type.
 
Methods inherited from class org.hibernate.type.descriptor.java.AbstractTypeDescriptor
extractLoggableRepresentation, getJavaTypeClass, getMutabilityPlan, unknownUnwrap, unknownWrap
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

INSTANCE

public static final BlobTypeDescriptor INSTANCE
Constructor Detail

BlobTypeDescriptor

public BlobTypeDescriptor()
Method Detail

toString

public String toString(Blob value)


fromString

public Blob fromString(String string)


getComparator

public Comparator<Blob> getComparator()
Description copied from class: AbstractTypeDescriptor
Retrieve the natural comparator for this type.

Specified by:
getComparator in interface JavaTypeDescriptor<Blob>
Overrides:
getComparator in class AbstractTypeDescriptor<Blob>
Returns:
The natural comparator.

extractHashCode

public int extractHashCode(Blob value)
Description copied from class: AbstractTypeDescriptor
Extract a proper hash code for this value.

Specified by:
extractHashCode in interface JavaTypeDescriptor<Blob>
Overrides:
extractHashCode in class AbstractTypeDescriptor<Blob>
Parameters:
value - The value for which to extract a hash code.
Returns:
The extracted hash code.

areEqual

public boolean areEqual(Blob one,
                        Blob another)
Description copied from class: AbstractTypeDescriptor
Determine if two instances are equal

Specified by:
areEqual in interface JavaTypeDescriptor<Blob>
Overrides:
areEqual in class AbstractTypeDescriptor<Blob>
Parameters:
one - One instance
another - The other instance
Returns:
True if the two are considered equal; false otherwise.

unwrap

public <X> X unwrap(Blob value,
                    Class<X> type,
                    WrapperOptions options)
Description copied from interface: JavaTypeDescriptor
Unwrap an instance of our handled Java type into the requested type.

As an example, if this is a JavaTypeDescriptor<Integer> and we are asked to unwrap the Integer value as a Long we would return something like Long.valueOf( value.longValue() ).

Intended use is during PreparedStatement binding.

Type Parameters:
X - The conversion type.
Parameters:
value - The value to unwrap
type - The type as which to unwrap
options - The options
Returns:
The unwrapped value.

wrap

public <X> Blob wrap(X value,
                     WrapperOptions options)
Description copied from interface: JavaTypeDescriptor
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.


Copyright © 2001-2013 Red Hat, Inc. All Rights Reserved.