org.eclipse.jpt.jpa.core.context
Interface Entity

All Superinterfaces:
org.eclipse.core.runtime.IAdaptable, IResourcePart, JpaContextNode, JpaNode, Model, TypeMapping
All Known Subinterfaces:
EclipseLinkEntity, JavaEclipseLinkEntity, JavaEntity, OrmEclipseLinkEntity, OrmEntity

public interface Entity
extends TypeMapping

entity

Provisional API: This interface is part of an interim API that is still under development and expected to change significantly before reaching stability. It is available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.

Since:
2.0
Version:
2.3

Field Summary
static java.lang.String DEFAULT_DISCRIMINATOR_VALUE_PROPERTY
           
static java.lang.String DEFAULT_INHERITANCE_STRATEGY_PROPERTY
           
static java.lang.String DEFAULT_NAME_PROPERTY
           
static java.lang.String DESCENDANTS_COLLECTION
           
static java.lang.String DISCRIMINATOR_COLUMN_IS_UNDEFINED_PROPERTY
           
static java.lang.String DISCRIMINATOR_VALUE_IS_UNDEFINED_PROPERTY
           
static java.lang.String ROOT_ENTITY_PROPERTY
           
static java.lang.String SPECIFIED_DISCRIMINATOR_COLUMN_IS_ALLOWED_PROPERTY
           
static java.lang.String SPECIFIED_DISCRIMINATOR_VALUE_IS_ALLOWED_PROPERTY
           
static java.lang.String SPECIFIED_DISCRIMINATOR_VALUE_PROPERTY
           
static java.lang.String SPECIFIED_INHERITANCE_STRATEGY_PROPERTY
           
static java.lang.String SPECIFIED_NAME_PROPERTY
           
static java.lang.String SPECIFIED_PRIMARY_KEY_JOIN_COLUMNS_LIST
           
static java.lang.String SPECIFIED_SECONDARY_TABLES_LIST
           
static java.lang.String SPECIFIED_TABLE_IS_ALLOWED_PROPERTY
           
static java.lang.String TABLE_IS_UNDEFINED_PROPERTY
           
 
Method Summary
 PrimaryKeyJoinColumn addSpecifiedPrimaryKeyJoinColumn()
           
 PrimaryKeyJoinColumn addSpecifiedPrimaryKeyJoinColumn(int index)
           
 SecondaryTable addSpecifiedSecondaryTable()
          Add a specified secondary table to the entity return the object representing it.
 SecondaryTable addSpecifiedSecondaryTable(int index)
          Add a specified secondary table to the entity return the object representing it.
 boolean discriminatorColumnIsUndefined()
          Return whether a DiscriminatorColumn is undefined for this Entity.
 boolean discriminatorValueIsUndefined()
          Return whether a DiscriminatorValue is undefined for this Entity.
 AssociationOverrideContainer getAssociationOverrideContainer()
           
 AttributeOverrideContainer getAttributeOverrideContainer()
           
 java.lang.String getDefaultCatalog()
          Return the entity's default catalog, which depends on the entity's inheritance hierarchy.
 java.lang.String getDefaultDiscriminatorValue()
           
 InheritanceType getDefaultInheritanceStrategy()
           
 java.lang.String getDefaultName()
           
 java.lang.String getDefaultSchema()
          Return the entity's default schema, which depends on the entity's inheritance hierarchy.
 java.lang.String getDefaultTableName()
          Return the entity's default table name, which depends on the entity's inheritance hierarchy.
 java.lang.Iterable<Entity> getDescendants()
          If the entity is a root entity, return the entity's descendant entities; if the entity is not a root entity, return an empty collection.
 DiscriminatorColumn getDiscriminatorColumn()
           
 java.lang.String getDiscriminatorValue()
           
 GeneratorContainer getGeneratorContainer()
           
 PersistentAttribute getIdAttribute()
          If an entity has a single id attribute, return that attribute.
 IdClassReference getIdClassReference()
          Return the (aggregate) class reference for configuring and validating id class
 InheritanceType getInheritanceStrategy()
          Return the specified inheritance strategy if present, otherwise return the default inheritance strategy.
 Entity getParentEntity()
          The first parent in the class hierarchy that is an entity.
 java.lang.String getPrimaryKeyColumnName()
          Return the name of the entity's primary key column.
 QueryContainer getQueryContainer()
           
 Entity getRootEntity()
          Return the top of the entity's inheritance hierarchy.
 java.lang.String getSpecifiedDiscriminatorValue()
           
 InheritanceType getSpecifiedInheritanceStrategy()
           
 java.lang.String getSpecifiedName()
           
 Table getTable()
          Return the table for this entity, either specified or default.
 boolean isRoot()
          Return whether this entity is a root entity in an inheritance hierarchy.
 void moveSpecifiedPrimaryKeyJoinColumn(int targetIndex, int sourceIndex)
           
 void moveSpecifiedSecondaryTable(int targetIndex, int sourceIndex)
          Move the specified secondary table from the source index to the target index.
 java.util.ListIterator<? extends ReadOnlyPrimaryKeyJoinColumn> primaryKeyJoinColumns()
           
 int primaryKeyJoinColumnsSize()
           
 void removeSpecifiedPrimaryKeyJoinColumn(int index)
           
 void removeSpecifiedPrimaryKeyJoinColumn(PrimaryKeyJoinColumn primaryKeyJoinColumn)
           
 void removeSpecifiedSecondaryTable(int index)
          Remove the specified secondary table from the entity.
 void removeSpecifiedSecondaryTable(SecondaryTable secondaryTable)
          Remove the specified secondary table at the index from the entity.
 AttributeMapping resolveAttributeMapping(java.lang.String name)
          Returns the attribute mapping that matches the name.
 java.util.ListIterator<? extends ReadOnlySecondaryTable> secondaryTables()
          Return the secondary tables whether specified or default.
 int secondaryTablesSize()
          Return the number of secondary tables, both specified and default.
 void setSpecifiedDiscriminatorValue(java.lang.String value)
           
 void setSpecifiedInheritanceStrategy(InheritanceType inheritanceType)
           
 void setSpecifiedName(java.lang.String name)
           
 boolean specifiedDiscriminatorColumnIsAllowed()
          Return whether a DiscriminatorColumn is allowed for this Entity.
 boolean specifiedDiscriminatorValueIsAllowed()
          Return whether a DiscriminatorValue is allowed for this Entity.
 java.util.ListIterator<? extends PrimaryKeyJoinColumn> specifiedPrimaryKeyJoinColumns()
           
 int specifiedPrimaryKeyJoinColumnsSize()
           
 java.util.ListIterator<? extends SecondaryTable> specifiedSecondaryTables()
          Return a list iterator of the specified secondary tables.
 int specifiedSecondaryTablesSize()
          Return the number of specified secondary tables.
 boolean specifiedTableIsAllowed()
          Return whether a Table is allowed for this Entity.
 boolean tableIsUndefined()
          Return whether a Table is undefined for this Entity.
 
Methods inherited from interface org.eclipse.jpt.jpa.core.context.TypeMapping
allAssociatedTableNames, allAssociatedTables, allAttributeMappings, allOverridableAssociationNames, allOverridableAttributeNames, associatedTables, attributeMappingKeyAllowed, attributeMappings, getAllAttributeMappings, getAttributeMappings, getDbSchema, getIdClass, getKey, getName, getPersistentType, getPrimaryDbTable, getPrimaryTableName, getSuperTypeMapping, inheritanceHierarchy, isMapped, overridableAssociationNames, overridableAttributeNames, resolveDbTable, resolveOverriddenColumn, resolveOverriddenRelationship, tableNameIsInvalid, validatesAgainstDatabase
 
Methods inherited from interface org.eclipse.jpt.jpa.core.context.JpaContextNode
getContextDefaultDbCatalog, getContextDefaultDbSchema, getContextDefaultDbSchemaContainer, getMappingFileRoot, getPersistenceUnit, getResourceType, synchronizeWithResourceModel, update
 
Methods inherited from interface org.eclipse.jpt.jpa.core.JpaNode
getJpaProject, getParent, stateChanged
 
Methods inherited from interface org.eclipse.jpt.common.utility.model.Model
addChangeListener, addCollectionChangeListener, addListChangeListener, addPropertyChangeListener, addStateChangeListener, addTreeChangeListener, removeChangeListener, removeCollectionChangeListener, removeListChangeListener, removePropertyChangeListener, removeStateChangeListener, removeTreeChangeListener
 
Methods inherited from interface org.eclipse.core.runtime.IAdaptable
getAdapter
 
Methods inherited from interface org.eclipse.jpt.common.core.IResourcePart
getResource
 

Field Detail

SPECIFIED_NAME_PROPERTY

static final java.lang.String SPECIFIED_NAME_PROPERTY
See Also:
Constant Field Values

DEFAULT_NAME_PROPERTY

static final java.lang.String DEFAULT_NAME_PROPERTY
See Also:
Constant Field Values

SPECIFIED_SECONDARY_TABLES_LIST

static final java.lang.String SPECIFIED_SECONDARY_TABLES_LIST
See Also:
Constant Field Values

SPECIFIED_INHERITANCE_STRATEGY_PROPERTY

static final java.lang.String SPECIFIED_INHERITANCE_STRATEGY_PROPERTY
See Also:
Constant Field Values

DEFAULT_INHERITANCE_STRATEGY_PROPERTY

static final java.lang.String DEFAULT_INHERITANCE_STRATEGY_PROPERTY
See Also:
Constant Field Values

SPECIFIED_DISCRIMINATOR_VALUE_PROPERTY

static final java.lang.String SPECIFIED_DISCRIMINATOR_VALUE_PROPERTY
See Also:
Constant Field Values

DEFAULT_DISCRIMINATOR_VALUE_PROPERTY

static final java.lang.String DEFAULT_DISCRIMINATOR_VALUE_PROPERTY
See Also:
Constant Field Values

SPECIFIED_DISCRIMINATOR_VALUE_IS_ALLOWED_PROPERTY

static final java.lang.String SPECIFIED_DISCRIMINATOR_VALUE_IS_ALLOWED_PROPERTY
See Also:
Constant Field Values

DISCRIMINATOR_VALUE_IS_UNDEFINED_PROPERTY

static final java.lang.String DISCRIMINATOR_VALUE_IS_UNDEFINED_PROPERTY
See Also:
Constant Field Values

SPECIFIED_DISCRIMINATOR_COLUMN_IS_ALLOWED_PROPERTY

static final java.lang.String SPECIFIED_DISCRIMINATOR_COLUMN_IS_ALLOWED_PROPERTY
See Also:
Constant Field Values

DISCRIMINATOR_COLUMN_IS_UNDEFINED_PROPERTY

static final java.lang.String DISCRIMINATOR_COLUMN_IS_UNDEFINED_PROPERTY
See Also:
Constant Field Values

SPECIFIED_TABLE_IS_ALLOWED_PROPERTY

static final java.lang.String SPECIFIED_TABLE_IS_ALLOWED_PROPERTY
See Also:
Constant Field Values

TABLE_IS_UNDEFINED_PROPERTY

static final java.lang.String TABLE_IS_UNDEFINED_PROPERTY
See Also:
Constant Field Values

SPECIFIED_PRIMARY_KEY_JOIN_COLUMNS_LIST

static final java.lang.String SPECIFIED_PRIMARY_KEY_JOIN_COLUMNS_LIST
See Also:
Constant Field Values

ROOT_ENTITY_PROPERTY

static final java.lang.String ROOT_ENTITY_PROPERTY
See Also:
Constant Field Values

DESCENDANTS_COLLECTION

static final java.lang.String DESCENDANTS_COLLECTION
See Also:
Constant Field Values
Method Detail

getSpecifiedName

java.lang.String getSpecifiedName()

setSpecifiedName

void setSpecifiedName(java.lang.String name)

getDefaultName

java.lang.String getDefaultName()

getIdClassReference

IdClassReference getIdClassReference()
Return the (aggregate) class reference for configuring and validating id class


getTable

Table getTable()
Return the table for this entity, either specified or default. This will not be null.


getPrimaryKeyColumnName

java.lang.String getPrimaryKeyColumnName()
Return the name of the entity's primary key column. Return null if the entity's primary key is "compound" (i.e. the primary key is composed of multiple columns).


getDefaultTableName

java.lang.String getDefaultTableName()
Return the entity's default table name, which depends on the entity's inheritance hierarchy.


getDefaultSchema

java.lang.String getDefaultSchema()
Return the entity's default schema, which depends on the entity's inheritance hierarchy.


getDefaultCatalog

java.lang.String getDefaultCatalog()
Return the entity's default catalog, which depends on the entity's inheritance hierarchy.


secondaryTables

java.util.ListIterator<? extends ReadOnlySecondaryTable> secondaryTables()
Return the secondary tables whether specified or default.


secondaryTablesSize

int secondaryTablesSize()
Return the number of secondary tables, both specified and default.


specifiedSecondaryTables

java.util.ListIterator<? extends SecondaryTable> specifiedSecondaryTables()
Return a list iterator of the specified secondary tables. This will not be null.


specifiedSecondaryTablesSize

int specifiedSecondaryTablesSize()
Return the number of specified secondary tables.


addSpecifiedSecondaryTable

SecondaryTable addSpecifiedSecondaryTable()
Add a specified secondary table to the entity return the object representing it.


addSpecifiedSecondaryTable

SecondaryTable addSpecifiedSecondaryTable(int index)
Add a specified secondary table to the entity return the object representing it.


removeSpecifiedSecondaryTable

void removeSpecifiedSecondaryTable(int index)
Remove the specified secondary table from the entity.


removeSpecifiedSecondaryTable

void removeSpecifiedSecondaryTable(SecondaryTable secondaryTable)
Remove the specified secondary table at the index from the entity.


moveSpecifiedSecondaryTable

void moveSpecifiedSecondaryTable(int targetIndex,
                                 int sourceIndex)
Move the specified secondary table from the source index to the target index.


getInheritanceStrategy

InheritanceType getInheritanceStrategy()
Return the specified inheritance strategy if present, otherwise return the default inheritance strategy.


getSpecifiedInheritanceStrategy

InheritanceType getSpecifiedInheritanceStrategy()

setSpecifiedInheritanceStrategy

void setSpecifiedInheritanceStrategy(InheritanceType inheritanceType)

getDefaultInheritanceStrategy

InheritanceType getDefaultInheritanceStrategy()

getParentEntity

Entity getParentEntity()
The first parent in the class hierarchy that is an entity. This is the parent in the entity (persistent) inheritance hierarchy (vs class inheritance hierarchy). Return null if there is no parent entity.


getDiscriminatorColumn

DiscriminatorColumn getDiscriminatorColumn()

getDiscriminatorValue

java.lang.String getDiscriminatorValue()

getSpecifiedDiscriminatorValue

java.lang.String getSpecifiedDiscriminatorValue()

setSpecifiedDiscriminatorValue

void setSpecifiedDiscriminatorValue(java.lang.String value)

getDefaultDiscriminatorValue

java.lang.String getDefaultDiscriminatorValue()

specifiedDiscriminatorValueIsAllowed

boolean specifiedDiscriminatorValueIsAllowed()
Return whether a DiscriminatorValue is allowed for this Entity. It is allowed if the entity is not abstract and not part of a table-per-class inheritance hierarchy


discriminatorValueIsUndefined

boolean discriminatorValueIsUndefined()
Return whether a DiscriminatorValue is undefined for this Entity. It is undefined if the entity is abstract or if it is part of a table-per-class inheritance hierarchy


specifiedDiscriminatorColumnIsAllowed

boolean specifiedDiscriminatorColumnIsAllowed()
Return whether a DiscriminatorColumn is allowed for this Entity. It is allowed if the entity is the root of the inheritance hierarchy (with descendant entities) and the strategy is not table-per-class


discriminatorColumnIsUndefined

boolean discriminatorColumnIsUndefined()
Return whether a DiscriminatorColumn is undefined for this Entity. It is undefined if the inheritance strategy is table-per-class


specifiedTableIsAllowed

boolean specifiedTableIsAllowed()
Return whether a Table is allowed for this Entity. If the inheritance strategy is single-table, Table is allowed only on the root entity. If the inheritance strategy is table-per-class it is allowed only on concrete entities.


tableIsUndefined

boolean tableIsUndefined()
Return whether a Table is undefined for this Entity. If the inheritance strategy is table-per-class and the entity is abstract, then a Table object is undefined


primaryKeyJoinColumns

java.util.ListIterator<? extends ReadOnlyPrimaryKeyJoinColumn> primaryKeyJoinColumns()

primaryKeyJoinColumnsSize

int primaryKeyJoinColumnsSize()

specifiedPrimaryKeyJoinColumns

java.util.ListIterator<? extends PrimaryKeyJoinColumn> specifiedPrimaryKeyJoinColumns()

specifiedPrimaryKeyJoinColumnsSize

int specifiedPrimaryKeyJoinColumnsSize()

addSpecifiedPrimaryKeyJoinColumn

PrimaryKeyJoinColumn addSpecifiedPrimaryKeyJoinColumn(int index)

addSpecifiedPrimaryKeyJoinColumn

PrimaryKeyJoinColumn addSpecifiedPrimaryKeyJoinColumn()

removeSpecifiedPrimaryKeyJoinColumn

void removeSpecifiedPrimaryKeyJoinColumn(int index)

removeSpecifiedPrimaryKeyJoinColumn

void removeSpecifiedPrimaryKeyJoinColumn(PrimaryKeyJoinColumn primaryKeyJoinColumn)

moveSpecifiedPrimaryKeyJoinColumn

void moveSpecifiedPrimaryKeyJoinColumn(int targetIndex,
                                       int sourceIndex)

getAttributeOverrideContainer

AttributeOverrideContainer getAttributeOverrideContainer()

getAssociationOverrideContainer

AssociationOverrideContainer getAssociationOverrideContainer()

getQueryContainer

QueryContainer getQueryContainer()

getGeneratorContainer

GeneratorContainer getGeneratorContainer()

isRoot

boolean isRoot()
Return whether this entity is a root entity in an inheritance hierarchy.


getRootEntity

Entity getRootEntity()
Return the top of the entity's inheritance hierarchy. This method will never return null. The root is defined as the persistent type in the inheritance hierarchy that has no parent. The root will be an entity.

Non-entities in the hierarchy should be ignored; i.e. we skip over them in the search for the root.


getDescendants

java.lang.Iterable<Entity> getDescendants()
If the entity is a root entity, return the entity's descendant entities; if the entity is not a root entity, return an empty collection.

NB: An entity A is a "descendant" of another root entity B if the name of entity A's root entity's type matches the name of entity B's type. This means entity A can be a "descendant" of multiple root entities (typically both the orm.xml and Java root entities for a particular type); despite entity have only a single "root" entity (typically the orm.xml root entity).


resolveAttributeMapping

AttributeMapping resolveAttributeMapping(java.lang.String name)
Returns the attribute mapping that matches the name. In 2.0 this name could use dot-notation for nested mappings.


getIdAttribute

PersistentAttribute getIdAttribute()
If an entity has a single id attribute, return that attribute. Else return null.