## org.hibernate.type.descriptor.java
Interface MutabilityPlan<T>

All Superinterfaces:
  Serializable

All Known Implementing Classes:
  ArrayMutabilityPlan, BlobTypeDescriptor.BlobMutabilityPlan, CalendarTypeDescriptor.CalendarMutabilityPlan, ClobTypeDescriptor.ClobMutabilityPlan, DateTypeDescriptor.DateMutabilityPlan, ImmutableMutabilityPlan, JdbcDateTypeDescriptor.DateMutabilityPlan, JdbcTimestampTypeDescriptor.TimestampMutabilityPlan, JdbcTimeTypeDescriptor.TimeMutabilityPlan, MutableMutabilityPlan, SerializableTypeDescriptor.SerializableMutabilityPlan

    public interface MutabilityPlan<T>

extends Serializable

TODO : javadoc

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?

Method Detail

### isMutable

    boolean isMutable()

  Can the internal state of instances of `T` be changed?

  Returns:
    True if the internal state can be changed; false otherwise.

### deepCopy

    T deepCopy(T value)

  Return a deep copy of the value.

  Parameters:
    `value` - The value to deep copy
  Returns:
    The deep copy.

### disassemble

    Serializable disassemble(T value)

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

  Parameters:
    `value` - The value to disassemble
  Returns:
    The disassembled value.
  See Also:
    `assemble(java.io.Serializable)`

### assemble

    T assemble(Serializable cached)

  Assemble a previously disassembled value. This is used when pulling values from the second level cache. Compliment to `disassemble(T)`

  Parameters:
    `cached` - The disassembled state
  Returns:
    The re-assembled value.
  See Also:
    `disassemble(T)`

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