/*
 * Hibernate, Relational Persistence for Idiomatic Java
 *
 * License: GNU Lesser General Public License (LGPL), version 2.1 or later.
 * See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
 */
package org.hibernate.cache.spi.entry;

import java.io.Serializable;

A cached instance of a persistent class
Author:Gavin King, Steve Ebersole
/** * A cached instance of a persistent class * * @author Gavin King * @author Steve Ebersole */
public interface CacheEntry extends Serializable {
Does this entry represent a direct entity reference (rather than disassembled state)?
Returns:true/false
/** * Does this entry represent a direct entity reference (rather than disassembled state)? * * @return true/false */
boolean isReferenceEntry();
Hibernate stores all entries pertaining to a given entity hierarchy in a single region. This attribute tells us the specific entity type represented by the cached data.
Returns:The entry's exact entity type.
/** * Hibernate stores all entries pertaining to a given entity hierarchy in a single region. This attribute * tells us the specific entity type represented by the cached data. * * @return The entry's exact entity type. */
String getSubclass();
Retrieves the version (optimistic locking) associated with this cache entry.
Returns:The version of the entity represented by this entry
/** * Retrieves the version (optimistic locking) associated with this cache entry. * * @return The version of the entity represented by this entry */
Object getVersion();
Get the underlying disassembled state todo : this was added to support initializing an entity's EntityEntry snapshot during reattach; this should be refactored to instead expose a method to assemble a EntityEntry based on this state for return.
Returns:The disassembled state
/** * Get the underlying disassembled state * * todo : this was added to support initializing an entity's EntityEntry snapshot during reattach; * this should be refactored to instead expose a method to assemble a EntityEntry based on this * state for return. * * @return The disassembled state */
Serializable[] getDisassembledState(); }