Package org.hibernate.engine.spi
Class CollectionEntry
- java.lang.Object
-
- org.hibernate.engine.spi.CollectionEntry
-
- All Implemented Interfaces:
Serializable
public final class CollectionEntry extends Object implements Serializable
We need an entry to tell us all about the current state of a collection with respect to its persistent state- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description CollectionEntry(PersistentCollection<?> collection, SessionFactoryImplementor factory)
For initialized detached collectionsCollectionEntry(PersistentCollection<?> collection, CollectionPersister loadedPersister, Object loadedKey, boolean ignore)
For collections just loaded from the databaseCollectionEntry(CollectionPersister loadedPersister, Object loadedKey)
For uninitialized detached collectionsCollectionEntry(CollectionPersister persister, PersistentCollection<?> collection)
For newly wrapped collections, or dereferenced collection wrappers
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
afterAction(PersistentCollection<?> collection)
Called after execution of an actionstatic CollectionEntry
deserialize(ObjectInputStream ois, SessionImplementor session)
Custom deserialization routine used during deserialization of a Session/PersistenceContext for increased performance.Object
getCurrentKey()
This is only available late during the flush cycleCollectionPersister
getCurrentPersister()
Object
getKey()
Object
getLoadedKey()
CollectionPersister
getLoadedPersister()
This is only available late during the flush cycleCollection<?>
getOrphans(String entityName, PersistentCollection<?> collection)
Get the collection orphans (entities which were removed from the collection)String
getRole()
Serializable
getSnapshot()
boolean
isDorecreate()
boolean
isDoremove()
boolean
isDoupdate()
boolean
isIgnore()
boolean
isProcessed()
boolean
isReached()
boolean
isSnapshotEmpty(PersistentCollection<?> collection)
void
postFlush(PersistentCollection<?> collection)
Called after a successful flushvoid
postInitialize(PersistentCollection<?> collection)
void
preFlush(PersistentCollection<?> collection)
void
resetStoredSnapshot(PersistentCollection<?> collection, Serializable storedSnapshot)
Reset the stored snapshot for both the persistent collection and this collection entry.void
serialize(ObjectOutputStream oos)
Custom serialization routine used during serialization of a Session/PersistenceContext for increased performance.void
setCurrentKey(Object currentKey)
void
setCurrentPersister(CollectionPersister currentPersister)
void
setDorecreate(boolean dorecreate)
void
setDoremove(boolean doremove)
void
setDoupdate(boolean doupdate)
void
setProcessed(boolean processed)
void
setReached(boolean reached)
void
setRole(String role)
String
toString()
boolean
wasDereferenced()
-
-
-
Constructor Detail
-
CollectionEntry
public CollectionEntry(CollectionPersister persister, PersistentCollection<?> collection)
For newly wrapped collections, or dereferenced collection wrappers
-
CollectionEntry
public CollectionEntry(PersistentCollection<?> collection, CollectionPersister loadedPersister, Object loadedKey, boolean ignore)
For collections just loaded from the database
-
CollectionEntry
public CollectionEntry(CollectionPersister loadedPersister, Object loadedKey)
For uninitialized detached collections
-
CollectionEntry
public CollectionEntry(PersistentCollection<?> collection, SessionFactoryImplementor factory)
For initialized detached collections
-
-
Method Detail
-
preFlush
public void preFlush(PersistentCollection<?> collection) throws HibernateException
- Throws:
HibernateException
-
postInitialize
public void postInitialize(PersistentCollection<?> collection) throws HibernateException
- Throws:
HibernateException
-
postFlush
public void postFlush(PersistentCollection<?> collection) throws HibernateException
Called after a successful flush- Throws:
HibernateException
-
afterAction
public void afterAction(PersistentCollection<?> collection)
Called after execution of an action
-
getKey
public Object getKey()
-
getRole
public String getRole()
-
getSnapshot
public Serializable getSnapshot()
-
resetStoredSnapshot
public void resetStoredSnapshot(PersistentCollection<?> collection, Serializable storedSnapshot)
Reset the stored snapshot for both the persistent collection and this collection entry. Used during the merge of detached collections.- Parameters:
collection
- the persistentcollection to be updatedstoredSnapshot
- the new stored snapshot
-
wasDereferenced
public boolean wasDereferenced()
-
isReached
public boolean isReached()
-
setReached
public void setReached(boolean reached)
-
isProcessed
public boolean isProcessed()
-
setProcessed
public void setProcessed(boolean processed)
-
isDoupdate
public boolean isDoupdate()
-
setDoupdate
public void setDoupdate(boolean doupdate)
-
isDoremove
public boolean isDoremove()
-
setDoremove
public void setDoremove(boolean doremove)
-
isDorecreate
public boolean isDorecreate()
-
setDorecreate
public void setDorecreate(boolean dorecreate)
-
isIgnore
public boolean isIgnore()
-
getCurrentPersister
public CollectionPersister getCurrentPersister()
-
setCurrentPersister
public void setCurrentPersister(CollectionPersister currentPersister)
-
getCurrentKey
public Object getCurrentKey()
This is only available late during the flush cycle
-
setCurrentKey
public void setCurrentKey(Object currentKey)
-
getLoadedPersister
public CollectionPersister getLoadedPersister()
This is only available late during the flush cycle
-
getLoadedKey
public Object getLoadedKey()
-
setRole
public void setRole(String role)
-
getOrphans
public Collection<?> getOrphans(String entityName, PersistentCollection<?> collection) throws HibernateException
Get the collection orphans (entities which were removed from the collection)- Throws:
HibernateException
-
isSnapshotEmpty
public boolean isSnapshotEmpty(PersistentCollection<?> collection)
-
serialize
public void serialize(ObjectOutputStream oos) throws IOException
Custom serialization routine used during serialization of a Session/PersistenceContext for increased performance.- Parameters:
oos
- The stream to which we should write the serial data.- Throws:
IOException
-
deserialize
public static CollectionEntry deserialize(ObjectInputStream ois, SessionImplementor session) throws IOException, ClassNotFoundException
Custom deserialization routine used during deserialization of a Session/PersistenceContext for increased performance.- Parameters:
ois
- The stream from which to read the entry.session
- The session being deserialized.- Returns:
- The deserialized CollectionEntry
- Throws:
IOException
ClassNotFoundException
-
-