org.hibernate.mapping
Class Subclass

java.lang.Object
  extended by org.hibernate.mapping.PersistentClass
      extended by org.hibernate.mapping.Subclass
All Implemented Interfaces:
Serializable, Filterable, MetaAttributable
Direct Known Subclasses:
JoinedSubclass, SingleTableSubclass, UnionSubclass

public class Subclass
extends PersistentClass

A sublass in a table-per-class-hierarchy mapping

Author:
Gavin King
See Also:
Serialized Form

Field Summary
 
Fields inherited from class org.hibernate.mapping.PersistentClass
NOT_NULL_DISCRIMINATOR_MAPPING, NULL_DISCRIMINATOR_MAPPING, optimisticLockMode, synchronizedTables
 
Constructor Summary
Subclass(PersistentClass superclass)
           
 
Method Summary
 Object accept(PersistentClassVisitor mv)
           
 void addJoin(Join j)
           
 void addProperty(Property p)
           
protected  void addSubclassJoin(Join j)
           
protected  void addSubclassProperty(Property p)
           
protected  void addSubclassTable(Table table)
           
 void createForeignKey()
           
 String getCacheConcurrencyStrategy()
           
 Value getDiscriminator()
           
 Class getEntityPersisterClass()
           
 Map getFilterMap()
           
 KeyValue getIdentifier()
           
 Component getIdentifierMapper()
           
 Property getIdentifierProperty()
           
 Iterator getJoinClosureIterator()
           
 int getJoinClosureSpan()
           
 KeyValue getKey()
           
 Iterator getKeyClosureIterator()
           
 int getOptimisticLockMode()
           
 Iterator getPropertyClosureIterator()
           
 int getPropertyClosureSpan()
           
 RootClass getRootClass()
           
 Table getRootTable()
           
 int getSubclassId()
           
 PersistentClass getSuperclass()
           
 Set getSynchronizedTables()
           
 Table getTable()
           
 Iterator getTableClosureIterator()
           
 String getTuplizerImplClassName(EntityMode mode)
           
 Map getTuplizerMap()
           
 Property getVersion()
           
 String getWhere()
           
 boolean hasEmbeddedIdentifier()
           
 boolean hasIdentifierProperty()
           
 boolean hasSubselectLoadableCollections()
           
 boolean isClassOrSuperclassJoin(Join join)
           
 boolean isClassOrSuperclassTable(Table table)
           
 boolean isDiscriminatorInsertable()
           
 boolean isExplicitPolymorphism()
           
 boolean isForceDiscriminator()
           
 boolean isInherited()
           
 boolean isJoinedSubclass()
           
 boolean isLazyPropertiesCacheable()
           
 boolean isMutable()
           
 boolean isPolymorphic()
           
 boolean isVersioned()
           
 void setEntityPersisterClass(Class classPersisterClass)
           
 void setSuperclass(PersistentClass superclass)
           
 
Methods inherited from class org.hibernate.mapping.PersistentClass
addFilter, addSubclass, addSynchronizedTable, addTuplizer, checkColumnDuplication, checkColumnDuplication, checkPropertyColumnDuplication, createPrimaryKey, getBatchSize, getClassName, getCustomSQLDelete, getCustomSQLDeleteCheckStyle, getCustomSQLInsert, getCustomSQLInsertCheckStyle, getCustomSQLUpdate, getCustomSQLUpdateCheckStyle, getDirectSubclasses, getDiscriminatorColumnIterator, getDiscriminatorValue, getEntityName, getIdentityTable, getJoinIterator, getJoinNumber, getLoaderName, getMappedClass, getMetaAttribute, getMetaAttributes, getNodeName, getNonDuplicatedPropertyIterator, getProperty, getPropertyIterator, getProxyInterface, getProxyInterfaceName, getRecursiveProperty, getReferenceablePropertyIterator, getReferencedProperty, getSubclassClosureIterator, getSubclassIterator, getSubclassJoinClosureIterator, getSubclassPropertyClosureIterator, getSubclassSpan, getSubclassTableClosureIterator, getTemporaryIdTableDDL, getTemporaryIdTableName, getUnjoinedPropertyIterator, hasDom4jRepresentation, hasIdentifierMapper, hasNaturalId, hasPojoRepresentation, hasSelectBeforeUpdate, hasSubclasses, isAbstract, isCustomDeleteCallable, isCustomInsertCallable, isCustomUpdateCallable, isDiscriminatorValueNotNull, isDiscriminatorValueNull, isLazy, prepareTemporaryTables, setAbstract, setBatchSize, setClassName, setCustomSQLDelete, setCustomSQLInsert, setCustomSQLUpdate, setDiscriminatorValue, setDynamicInsert, setDynamicUpdate, setEntityName, setIdentifierMapper, setLazy, setLoaderName, setMetaAttributes, setNodeName, setOptimisticLockMode, setProxyInterfaceName, setSelectBeforeUpdate, setSubselectLoadableCollections, toString, useDynamicInsert, useDynamicUpdate, validate
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Subclass

public Subclass(PersistentClass superclass)
Method Detail

getSubclassId

public int getSubclassId()
Specified by:
getSubclassId in class PersistentClass

getCacheConcurrencyStrategy

public String getCacheConcurrencyStrategy()
Specified by:
getCacheConcurrencyStrategy in class PersistentClass

getRootClass

public RootClass getRootClass()
Specified by:
getRootClass in class PersistentClass

getSuperclass

public PersistentClass getSuperclass()
Specified by:
getSuperclass in class PersistentClass

getIdentifierProperty

public Property getIdentifierProperty()
Specified by:
getIdentifierProperty in class PersistentClass

getIdentifier

public KeyValue getIdentifier()
Specified by:
getIdentifier in class PersistentClass

hasIdentifierProperty

public boolean hasIdentifierProperty()
Specified by:
hasIdentifierProperty in class PersistentClass

getDiscriminator

public Value getDiscriminator()
Specified by:
getDiscriminator in class PersistentClass

isMutable

public boolean isMutable()
Specified by:
isMutable in class PersistentClass

isInherited

public boolean isInherited()
Specified by:
isInherited in class PersistentClass

isPolymorphic

public boolean isPolymorphic()
Specified by:
isPolymorphic in class PersistentClass

addProperty

public void addProperty(Property p)
Overrides:
addProperty in class PersistentClass

addJoin

public void addJoin(Join j)
Overrides:
addJoin in class PersistentClass

getPropertyClosureIterator

public Iterator getPropertyClosureIterator()
Specified by:
getPropertyClosureIterator in class PersistentClass

getTableClosureIterator

public Iterator getTableClosureIterator()
Specified by:
getTableClosureIterator in class PersistentClass

getKeyClosureIterator

public Iterator getKeyClosureIterator()
Specified by:
getKeyClosureIterator in class PersistentClass

addSubclassProperty

protected void addSubclassProperty(Property p)
Overrides:
addSubclassProperty in class PersistentClass

addSubclassJoin

protected void addSubclassJoin(Join j)
Overrides:
addSubclassJoin in class PersistentClass

addSubclassTable

protected void addSubclassTable(Table table)
Overrides:
addSubclassTable in class PersistentClass

isVersioned

public boolean isVersioned()
Specified by:
isVersioned in class PersistentClass

getVersion

public Property getVersion()
Specified by:
getVersion in class PersistentClass

hasEmbeddedIdentifier

public boolean hasEmbeddedIdentifier()
Specified by:
hasEmbeddedIdentifier in class PersistentClass

getEntityPersisterClass

public Class getEntityPersisterClass()
Specified by:
getEntityPersisterClass in class PersistentClass

getRootTable

public Table getRootTable()
Specified by:
getRootTable in class PersistentClass

getKey

public KeyValue getKey()
Specified by:
getKey in class PersistentClass

isExplicitPolymorphism

public boolean isExplicitPolymorphism()
Specified by:
isExplicitPolymorphism in class PersistentClass

setSuperclass

public void setSuperclass(PersistentClass superclass)

getWhere

public String getWhere()
Specified by:
getWhere in class PersistentClass

isJoinedSubclass

public boolean isJoinedSubclass()
Specified by:
isJoinedSubclass in class PersistentClass

createForeignKey

public void createForeignKey()

setEntityPersisterClass

public void setEntityPersisterClass(Class classPersisterClass)
Specified by:
setEntityPersisterClass in class PersistentClass

isLazyPropertiesCacheable

public boolean isLazyPropertiesCacheable()
Specified by:
isLazyPropertiesCacheable in class PersistentClass

getJoinClosureSpan

public int getJoinClosureSpan()
Overrides:
getJoinClosureSpan in class PersistentClass

getPropertyClosureSpan

public int getPropertyClosureSpan()
Overrides:
getPropertyClosureSpan in class PersistentClass

getJoinClosureIterator

public Iterator getJoinClosureIterator()
Overrides:
getJoinClosureIterator in class PersistentClass

isClassOrSuperclassJoin

public boolean isClassOrSuperclassJoin(Join join)
Overrides:
isClassOrSuperclassJoin in class PersistentClass

isClassOrSuperclassTable

public boolean isClassOrSuperclassTable(Table table)
Overrides:
isClassOrSuperclassTable in class PersistentClass

getTable

public Table getTable()
Specified by:
getTable in class PersistentClass

isForceDiscriminator

public boolean isForceDiscriminator()
Overrides:
isForceDiscriminator in class PersistentClass

isDiscriminatorInsertable

public boolean isDiscriminatorInsertable()
Specified by:
isDiscriminatorInsertable in class PersistentClass

getSynchronizedTables

public Set getSynchronizedTables()
Specified by:
getSynchronizedTables in class PersistentClass

accept

public Object accept(PersistentClassVisitor mv)
Specified by:
accept in class PersistentClass

getFilterMap

public Map getFilterMap()
Specified by:
getFilterMap in interface Filterable
Overrides:
getFilterMap in class PersistentClass

hasSubselectLoadableCollections

public boolean hasSubselectLoadableCollections()
Overrides:
hasSubselectLoadableCollections in class PersistentClass

getTuplizerImplClassName

public String getTuplizerImplClassName(EntityMode mode)
Overrides:
getTuplizerImplClassName in class PersistentClass

getTuplizerMap

public Map getTuplizerMap()
Overrides:
getTuplizerMap in class PersistentClass

getIdentifierMapper

public Component getIdentifierMapper()
Overrides:
getIdentifierMapper in class PersistentClass

getOptimisticLockMode

public int getOptimisticLockMode()
Specified by:
getOptimisticLockMode in class PersistentClass