Class ImmutableMutabilityPlan<T>
- java.lang.Object
-
- 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- See Also:
- Serialized Form
- API Note:
- For use with
Mutability
, users should instead useImmutability
as the type parameterization here does not work with the parameterization defined onMutability.value()
-
-
Field Summary
Fields Modifier and Type Field Description static ImmutableMutabilityPlan
INSTANCE
-
Constructor Summary
Constructors Constructor Description ImmutableMutabilityPlan()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description T
assemble(Serializable cached, SharedSessionContract session)
Assemble a previously disassembled value.T
deepCopy(T value)
Return a deep copy of the value.Serializable
disassemble(T value, SharedSessionContract session)
Return a disassembled representation of the value.static <X> ImmutableMutabilityPlan<X>
instance()
boolean
isMutable()
Can the internal state of instances ofT
be changed?
-
-
-
Field Detail
-
INSTANCE
public static final ImmutableMutabilityPlan INSTANCE
-
-
Method Detail
-
instance
public static <X> ImmutableMutabilityPlan<X> instance()
-
isMutable
public boolean isMutable()
Description copied from interface:MutabilityPlan
Can the internal state of instances ofT
be changed?- Specified by:
isMutable
in interfaceMutabilityPlan<T>
- Returns:
- True if the internal state can be changed; false otherwise.
-
deepCopy
public T deepCopy(T value)
Description copied from interface:MutabilityPlan
Return a deep copy of the value.- Specified by:
deepCopy
in interfaceMutabilityPlan<T>
- Parameters:
value
- The value to deep copy- Returns:
- The deep copy.
-
disassemble
public Serializable disassemble(T value, SharedSessionContract session)
Description copied from interface:MutabilityPlan
Return a disassembled representation of the value.Called before storing a value in the second-level cache.
Complementary to
MutabilityPlan.assemble(java.io.Serializable, org.hibernate.SharedSessionContract)
.- Specified by:
disassemble
in interfaceMutabilityPlan<T>
- See Also:
MutabilityPlan.assemble(java.io.Serializable, org.hibernate.SharedSessionContract)
-
assemble
public T assemble(Serializable cached, SharedSessionContract session)
Description copied from interface:MutabilityPlan
Assemble a previously disassembled value.Called after reading a value from the second level cache.
Complementary to
MutabilityPlan.disassemble(T, org.hibernate.SharedSessionContract)
.- Specified by:
assemble
in interfaceMutabilityPlan<T>
- See Also:
MutabilityPlan.disassemble(T, org.hibernate.SharedSessionContract)
-
-