⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 abstractcollectionevent.java

📁 hibernate 开源框架的代码 jar包希望大家能喜欢
💻 JAVA
字号:
//$Id: $package org.hibernate.event;import java.io.Serializable;import org.hibernate.collection.PersistentCollection;import org.hibernate.engine.CollectionEntry;import org.hibernate.engine.EntityEntry;import org.hibernate.persister.collection.CollectionPersister;/** * Defines a base class for events involving collections. * * @author Gail Badner */public abstract class AbstractCollectionEvent extends AbstractEvent {	private final PersistentCollection collection;	private final Object affectedOwner;	private final Serializable affectedOwnerId;	private final String affectedOwnerEntityName;	/**	 * Constructs an AbstractCollectionEvent object.	 *	 * @param collection - the collection	 * @param source - the Session source	 * @param affectedOwner - the owner that is affected by this event;	 * can be null if unavailable	 * @param affectedOwnerId - the ID for the owner that is affected	 * by this event; can be null if unavailable	 * that is affected by this event; can be null if unavailable	 */	public AbstractCollectionEvent( CollectionPersister collectionPersister,					PersistentCollection collection,					EventSource source,					Object affectedOwner,					Serializable affectedOwnerId) {		super(source);		this.collection = collection;		this.affectedOwner = affectedOwner;		this.affectedOwnerId = affectedOwnerId;		this.affectedOwnerEntityName =				getAffectedOwnerEntityName( collectionPersister, affectedOwner, source );	}	protected static CollectionPersister getLoadedCollectionPersister( PersistentCollection collection, EventSource source ) {		CollectionEntry ce = source.getPersistenceContext().getCollectionEntry( collection );		return ( ce == null ? null : ce.getLoadedPersister() );			}	protected static Object getLoadedOwnerOrNull( PersistentCollection collection, EventSource source ) {		return source.getPersistenceContext().getLoadedCollectionOwnerOrNull( collection );	}	protected static Serializable getLoadedOwnerIdOrNull( PersistentCollection collection, EventSource source ) {		return source.getPersistenceContext().getLoadedCollectionOwnerIdOrNull( collection );	}	protected static Serializable getOwnerIdOrNull( Object owner, EventSource source ) {		EntityEntry ownerEntry = source.getPersistenceContext().getEntry( owner );		return ( ownerEntry == null ? null : ownerEntry.getId() );	}	protected static String getAffectedOwnerEntityName(CollectionPersister collectionPersister, Object affectedOwner, EventSource source ) {		// collectionPersister should not be null, but we don't want to throw		// an exception if it is null		String entityName =				( collectionPersister == null ? null : collectionPersister.getOwnerEntityPersister().getEntityName() );		if ( affectedOwner != null ) {			EntityEntry ee = source.getPersistenceContext().getEntry( affectedOwner );			if ( ee != null && ee.getEntityName() != null) {				entityName = ee.getEntityName();			}		}			return entityName;	}	public PersistentCollection getCollection() {		return collection;	}	/**	 * Get the collection owner entity that is affected by this event.	 *	 * @return the affected owner; returns null if the entity is not in the persistence context	 * (e.g., because the collection from a detached entity was moved to a new owner)	 */	public Object getAffectedOwnerOrNull() {		return affectedOwner;	}	/**	 * Get the ID for the collection owner entity that is affected by this event.	 *	 * @return the affected owner ID; returns null if the ID cannot be obtained	 * from the collection's loaded key (e.g., a property-ref is used for the	 * collection and does not include the entity's ID)	 */	public Serializable getAffectedOwnerIdOrNull() {		return affectedOwnerId;	}	/**	 * Get the entity name for the collection owner entity that is affected by this event.	 *	 * @return the entity name; if the owner is not in the PersistenceContext, the	 * returned value may be a superclass name, instead of the actual class name	 */	public String getAffectedOwnerEntityName() {		return affectedOwnerEntityName;	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -