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

📄 subclass.java

📁 hibernate 开源框架的代码 jar包希望大家能喜欢
💻 JAVA
字号:
//$Id: Subclass.java 10119 2006-07-14 00:09:19Z steve.ebersole@jboss.com $package org.hibernate.mapping;import java.util.*;import java.util.Map;import org.hibernate.AssertionFailure;import org.hibernate.EntityMode;import org.hibernate.util.JoinedIterator;import org.hibernate.util.SingletonIterator;/** * A sublass in a table-per-class-hierarchy mapping * @author Gavin King */public class Subclass extends PersistentClass {	private PersistentClass superclass;	private Class classPersisterClass;	private final int subclassId;		public Subclass(PersistentClass superclass) {		this.superclass = superclass;		this.subclassId = superclass.nextSubclassId();	}	int nextSubclassId() {		return getSuperclass().nextSubclassId();	}		public int getSubclassId() {		return subclassId;	}		public String getCacheConcurrencyStrategy() {		return getSuperclass().getCacheConcurrencyStrategy();	}	public RootClass getRootClass() {		return getSuperclass().getRootClass();	}	public PersistentClass getSuperclass() {		return superclass;	}	public Property getIdentifierProperty() {		return getSuperclass().getIdentifierProperty();	}	public KeyValue getIdentifier() {		return getSuperclass().getIdentifier();	}	public boolean hasIdentifierProperty() {		return getSuperclass().hasIdentifierProperty();	}	public Value getDiscriminator() {		return getSuperclass().getDiscriminator();	}	public boolean isMutable() {		return getSuperclass().isMutable();	}	public boolean isInherited() {		return true;	}	public boolean isPolymorphic() {		return true;	}	public void addProperty(Property p) {		super.addProperty(p);		getSuperclass().addSubclassProperty(p);	}	public void addJoin(Join j) {		super.addJoin(j);		getSuperclass().addSubclassJoin(j);	}	public Iterator getPropertyClosureIterator() {		return new JoinedIterator(				getSuperclass().getPropertyClosureIterator(),				getPropertyIterator()			);	}	public Iterator getTableClosureIterator() {		return new JoinedIterator(				getSuperclass().getTableClosureIterator(),				new SingletonIterator( getTable() )			);	}	public Iterator getKeyClosureIterator() {		return new JoinedIterator(				getSuperclass().getKeyClosureIterator(),				new SingletonIterator( getKey() )			);	}	protected void addSubclassProperty(Property p) {		super.addSubclassProperty(p);		getSuperclass().addSubclassProperty(p);	}	protected void addSubclassJoin(Join j) {		super.addSubclassJoin(j);		getSuperclass().addSubclassJoin(j);	}	protected void addSubclassTable(Table table) {		super.addSubclassTable(table);		getSuperclass().addSubclassTable(table);	}	public boolean isVersioned() {		return getSuperclass().isVersioned();	}	public Property getVersion() {		return getSuperclass().getVersion();	}	public boolean hasEmbeddedIdentifier() {		return getSuperclass().hasEmbeddedIdentifier();	}	public Class getEntityPersisterClass() {		if (classPersisterClass==null) {			return getSuperclass().getEntityPersisterClass();		}		else {			return classPersisterClass;		}	}	public Table getRootTable() {		return getSuperclass().getRootTable();	}	public KeyValue getKey() {		return getSuperclass().getIdentifier();	}	public boolean isExplicitPolymorphism() {		return getSuperclass().isExplicitPolymorphism();	}	public void setSuperclass(PersistentClass superclass) {		this.superclass = superclass;	}	public String getWhere() {		return getSuperclass().getWhere();	}	public boolean isJoinedSubclass() {		return getTable()!=getRootTable();	}	public void createForeignKey() {		if ( !isJoinedSubclass() ) {			throw new AssertionFailure( "not a joined-subclass" );		}		getKey().createForeignKeyOfEntity( getSuperclass().getEntityName() );	}	public void setEntityPersisterClass(Class classPersisterClass) {		this.classPersisterClass = classPersisterClass;	}	public boolean isLazyPropertiesCacheable() {		return getSuperclass().isLazyPropertiesCacheable();	}	public int getJoinClosureSpan() {		return getSuperclass().getJoinClosureSpan() + super.getJoinClosureSpan();	}	public int getPropertyClosureSpan() {		return getSuperclass().getPropertyClosureSpan() + super.getPropertyClosureSpan();	}	public Iterator getJoinClosureIterator() {		return new JoinedIterator(			getSuperclass().getJoinClosureIterator(),			super.getJoinClosureIterator()		);	}	public boolean isClassOrSuperclassJoin(Join join) {		return super.isClassOrSuperclassJoin(join) || getSuperclass().isClassOrSuperclassJoin(join);	}	public boolean isClassOrSuperclassTable(Table table) {		return super.isClassOrSuperclassTable(table) || getSuperclass().isClassOrSuperclassTable(table);	}	public Table getTable() {		return getSuperclass().getTable();	}	public boolean isForceDiscriminator() {		return getSuperclass().isForceDiscriminator();	}	public boolean isDiscriminatorInsertable() {		return getSuperclass().isDiscriminatorInsertable();	}	public java.util.Set getSynchronizedTables() {		HashSet result = new HashSet();		result.addAll(synchronizedTables);		result.addAll( getSuperclass().getSynchronizedTables() );		return result;	}	public Object accept(PersistentClassVisitor mv) {		return mv.accept(this);	}	public Map getFilterMap() {		return getSuperclass().getFilterMap();	}	public boolean hasSubselectLoadableCollections() {		return super.hasSubselectLoadableCollections() || 			getSuperclass().hasSubselectLoadableCollections();	}	public String getTuplizerImplClassName(EntityMode mode) {		String impl = super.getTuplizerImplClassName( mode );		if ( impl == null ) {			impl = getSuperclass().getTuplizerImplClassName( mode );		}		return impl;	}	public Map getTuplizerMap() {		Map specificTuplizerDefs = super.getTuplizerMap();		Map superclassTuplizerDefs = getSuperclass().getTuplizerMap();		if ( specificTuplizerDefs == null && superclassTuplizerDefs == null ) {			return null;		}		else {			Map combined = new HashMap();			if ( superclassTuplizerDefs != null ) {				combined.putAll( superclassTuplizerDefs );			}			if ( specificTuplizerDefs != null ) {				combined.putAll( specificTuplizerDefs );			}			return java.util.Collections.unmodifiableMap( combined );		}	}	public Component getIdentifierMapper() {		return superclass.getIdentifierMapper();	}		public int getOptimisticLockMode() {		return superclass.getOptimisticLockMode();	}}

⌨️ 快捷键说明

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