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

📄 classpersister.java

📁 用Java实现的23个常用设计模式源代码
💻 JAVA
字号:
//$Id: ClassPersister.java,v 1.11.2.14 2003/11/02 04:53:08 oneovthafew Exp $package net.sf.hibernate.persister;import java.io.Serializable;import net.sf.hibernate.HibernateException;import net.sf.hibernate.LockMode;import net.sf.hibernate.MappingException;import net.sf.hibernate.type.Type;import net.sf.hibernate.type.VersionType;import net.sf.hibernate.cache.CacheConcurrencyStrategy;import net.sf.hibernate.engine.Cascades;import net.sf.hibernate.engine.SessionImplementor;import net.sf.hibernate.id.IdentifierGenerator;import net.sf.hibernate.metadata.ClassMetadata;/** * Concrete <tt>ClassPersister</tt>s implement mapping and persistence logic for a particular persistent class. * <br><br> * Implementors must be threadsafe (preferrably immutable) and must provide a constructor * of type * <tt>(net.sf.hibernate.map.PersistentClass, net.sf.hibernate.impl.SessionFactoryImplementor)</tt>. * * @see EntityPersister * @author Gavin King */public interface ClassPersister {		/**	 * The property name of the "special" identifier property in HQL	 */	public static final String ENTITY_ID = "id";		/**	 * Finish the initialization of this object, once all <tt>ClassPersisters</tt> have been instantiated.	 *	 * Called only once, before any other method.	 */	public void postInstantiate() throws MappingException;		/**	 * Returns an object that identifies the space in which identifiers of this class hierarchy are unique.	 *	 * A table name, a JNDI URL, etc.	 */	public Serializable getIdentifierSpace();		/**	 * Returns an array of objects that identify spaces in which properties of this class instance are persisted.	 */	public Serializable[] getPropertySpaces();		/**	 * The persistent class	 */	public Class getMappedClass();		/**	 * The classname of the persistent class (used only for messages)	 */	public String getClassName();		/**	 * Does the class implement the <tt>Lifecycle</tt> interface.	 */	public boolean implementsLifecycle();		/**	 * Does the class implement the <tt>Validatable</tt> interface.	 */	public boolean implementsValidatable();		/**	 * Does this class support dynamic proxies.	 */	public boolean hasProxy();	/**	 * Get the proxy interface that instances of <em>this</em> concrete class will be cast to (optional operation).	 */	public Class getConcreteProxyClass();	/**	 * Create a new proxy instance	 */	public Object createProxy(Serializable id, SessionImplementor session) throws HibernateException;		/**	 * Do instances of this class contain collections.	 */	public boolean hasCollections();		/**	 * Does this class declare any cascading save/update/deletes.	 */	public boolean hasCascades();		/**	 * Are instances of this class mutable.	 */	public boolean isMutable();		/**	 * Is the identifier assigned before the insert by an <tt>IDGenerator</tt>. Or	 * is it returned by the <tt>insert()</tt> method? This determines which form	 * of <tt>insert()</tt> will be called.	 */	public boolean isIdentifierAssignedByInsert();		/**	 * Is this a new transient instance?	 */	public boolean isUnsaved(Object object) throws HibernateException;		/**	 * Set the given values to the mapped properties of the given object	 */	public void setPropertyValues(Object object, Object[] values) throws HibernateException;		/**	 * Return the values of the mapped properties of the object	 */	public Object[] getPropertyValues(Object object) throws HibernateException;		/**	 * Set the value of a particular property	 */	public void setPropertyValue(Object object, int i, Object value) throws HibernateException;		/**	 * Get the value of a particular property	 */	public Object getPropertyValue(Object object, int i) throws HibernateException;	/**	 * Get the value of a particular property	 */	public Object getPropertyValue(Object object, String propertyName) throws HibernateException;	/**	 * Get the type of a particular property	 */	public Type getPropertyType(String propertyName) throws MappingException;			/**	 * Compare two snapshots of the state of an instance to determine if the persistent state was modified	 * @return <tt>null</tt> or the indices of the dirty properties	 */	public int[] findDirty(Object[] x, Object[] y, Object owner, SessionImplementor session) throws HibernateException;	/**	 * Compare the state of an instance to the current database state	 * @return <tt>null</tt> or the indices of the dirty properties	 */	public int[] findModified(Object[] old, Object[] current, Object object, SessionImplementor session) throws HibernateException;			/**	 * Does the class have a property holding the identifier value?	 */	public boolean hasIdentifierProperty();	/**	 * Do detached instances of this class carry their own identifier value?	 */	public boolean hasIdentifierPropertyOrEmbeddedCompositeIdentifier();		/**	 * Get the identifier of an instance (throw an exception if no identifier property)	 */	public Serializable getIdentifier(Object object) throws HibernateException;		/**	 * Set the identifier of an instance (or do nothing if no identifier property)	 */	public void setIdentifier(Object object, Serializable id) throws HibernateException;		/**	 * Are instances of this class versioned by a timestamp or version number column.	 */	public boolean isVersioned();		/**	 * Get the type of versioning (optional operation)	 */	public VersionType getVersionType();		/**	 * Which property holds the version number (optional operation).	 */	public int getVersionProperty();		/**	 * Get the version number (or timestamp) from the object's version property (or return null if not versioned)	 */	public Object getVersion(Object object) throws HibernateException;		/**	 * Create a class instance initialized with the given identifier	 */	public Object instantiate(Serializable id) throws HibernateException;		/**	 * Return the <tt>IdentifierGenerator</tt> for the class	 */	public IdentifierGenerator getIdentifierGenerator() throws HibernateException;		/**	 * Load an instance of the persistent class.	 */	public Object load(Serializable id, Object optionalObject, LockMode lockMode, SessionImplementor session) throws HibernateException;		/**	 * Do a version check (optional operation)	 */	public void lock(Serializable id, Object version, Object object, LockMode lockMode, SessionImplementor session) throws HibernateException;		/**	 * Persist an instance	 */	public void insert(Serializable id, Object[] fields, Object object, SessionImplementor session) throws HibernateException;		/**	 * Persist an instance, using a natively generated identifier (optional operation)	 */	public Serializable insert(Object[] fields, Object object, SessionImplementor session) throws HibernateException;		/**	 * Delete a persistent instance	 */	public void delete(Serializable id, Object version, Object object, SessionImplementor session) throws HibernateException;		/**	 * Update a persistent instance	 */	public void update(Serializable id, Object[] fields, int[] dirtyFields, Object[] oldFields, Object oldVersion, Object object, SessionImplementor session) throws HibernateException;		/**	 * Get the Hibernate types of the class properties	 */	public Type[] getPropertyTypes();		/**	 * Get the names of the class properties - doesn't have to be the names of the	 * actual Java properties (used for XML generation only)	 */	public String[] getPropertyNames();		/**	 * Get the "updateability" of the properties of this class	 * (does the property appear in an SQL UPDATE)	 */	public boolean[] getPropertyUpdateability();		/**	 * Get the nullability of the properties of this class	 */	public boolean[] getPropertyNullability();		/**	 * Get the "insertability" of the properties of this class	 * (does the property appear in an SQL INSERT)	 */	public boolean[] getPropertyInsertability();	/**	 * Get the cascade styles of the propertes (optional operation)	 */	public Cascades.CascadeStyle[] getPropertyCascadeStyles();		/**	 * Get the identifier type	 */	public Type getIdentifierType();		/**	 * Get the name of the identifier property (or return null) - need not return the	 * name of an actual Java property	 */	public String getIdentifierPropertyName();		/**	 * Does this class have a cache.	 */	public boolean hasCache();	/**	 * Get the cache (optional operation)	 */	public CacheConcurrencyStrategy getCache();		/**	 * Get the user-visible metadata for the class (optional operation)	 */	public ClassMetadata getClassMetadata();		/**	 * Is batch loading enabled?	 */	public boolean isBatchLoadable();		/**	 * Get the current database state of the object, in a "hydrated" form, without	 * resolving identifiers	 * @return null if select-before-update is not enabled or not supported	 */	public Object[] getCurrentPersistentState(Serializable id, Object version, SessionImplementor session) throws HibernateException;	/**	 * Get the current version of the object, or return null if there is no row for	 * the given identifier. In the case of unversioned data, return any object	 * if the row exists.	 */	public Object getCurrentVersion(Serializable id, SessionImplementor session) throws HibernateException;}

⌨️ 快捷键说明

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