org.hibernate.type.descriptor.java
Class ImmutableMutabilityPlan<T>

java.lang.Object
  extended by org.hibernate.type.descriptor.java.ImmutableMutabilityPlan<T>
All Implemented Interfaces:
Serializable, MutabilityPlan<T>

public class ImmutableMutabilityPlan<T>
extends Object
implements MutabilityPlan<T>

Mutability plan for immutable objects

Author:
Steve Ebersole
See Also:
Serialized Form

Field Summary
static ImmutableMutabilityPlan INSTANCE
           
 
Constructor Summary
ImmutableMutabilityPlan()
           
 
Method Summary
 T assemble(Serializable cached)
          Assemble a previously disassembled value.
 T deepCopy(T value)
          Return a deep copy of the value.
 Serializable disassemble(T value)
          Return a "disassembled" representation of the value.
 boolean isMutable()
          Can the internal state of instances of T be changed?
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

INSTANCE

public static final ImmutableMutabilityPlan INSTANCE
Constructor Detail

ImmutableMutabilityPlan

public ImmutableMutabilityPlan()
Method Detail

isMutable

public boolean isMutable()
Can the internal state of instances of T be changed?

Specified by:
isMutable in interface MutabilityPlan<T>
Returns:
True if the internal state can be changed; false otherwise.

deepCopy

public T deepCopy(T value)
Return a deep copy of the value.

Specified by:
deepCopy in interface MutabilityPlan<T>
Parameters:
value - The value to deep copy
Returns:
The deep copy.

disassemble

public Serializable disassemble(T value)
Return a "disassembled" representation of the value. This is used to push values onto the second level cache. Compliment to MutabilityPlan.assemble(java.io.Serializable)

Specified by:
disassemble in interface MutabilityPlan<T>
Parameters:
value - The value to disassemble
Returns:
The disassembled value.
See Also:
MutabilityPlan.assemble(java.io.Serializable)

assemble

public T assemble(Serializable cached)
Assemble a previously disassembled value. This is used when pulling values from the second level cache. Compliment to MutabilityPlan.disassemble(T)

Specified by:
assemble in interface MutabilityPlan<T>
Parameters:
cached - The disassembled state
Returns:
The re-assembled value.
See Also:
MutabilityPlan.disassemble(T)


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