Class ArrayTable
- java.lang.Object
-
- org.datanucleus.store.rdbms.table.AbstractTable
-
- org.datanucleus.store.rdbms.table.TableImpl
-
- org.datanucleus.store.rdbms.table.JoinTable
-
- org.datanucleus.store.rdbms.table.ElementContainerTable
-
- org.datanucleus.store.rdbms.table.ArrayTable
-
- All Implemented Interfaces:
Table
,org.datanucleus.store.schema.table.Table
public class ArrayTable extends ElementContainerTable
Representation of a join table for an array. An array requires ordering of elements so that they can be stored and retrieved in the same order.JoinTable Mappings
The join table consists of the following mappings :-
- ownerMapping linking back to the owning class with the Collection.
- elementMapping either being an FK link to the element table or being an embedded/serialised element stored wholely in this table.
- orderMapping providing the ordering of the elements.
-
-
Field Summary
-
Fields inherited from class org.datanucleus.store.rdbms.table.ElementContainerTable
elementMapping, orderMapping, relationDiscriminatorMapping, relationDiscriminatorValue
-
Fields inherited from class org.datanucleus.store.rdbms.table.JoinTable
mmd, ownerMapping, ownerTable, ownerType
-
Fields inherited from class org.datanucleus.store.rdbms.table.AbstractTable
columns, columnsByIdentifier, dba, existsInDatastore, identifier, state, storeMgr, TABLE_STATE_INITIALIZED, TABLE_STATE_INITIALIZED_MODIFIED, TABLE_STATE_NEW, TABLE_STATE_PK_INITIALIZED, TABLE_STATE_VALIDATED
-
-
Constructor Summary
Constructors Constructor Description ArrayTable(Table ownerTable, DatastoreIdentifier tableName, org.datanucleus.metadata.AbstractMemberMetaData mmd, RDBMSStoreManager storeMgr)
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description String
getElementType()
Accessor for the element type stored in this array.void
initialize(org.datanucleus.ClassLoaderResolver clr)
Method to initialise the table definition.boolean
isEmbeddedElement()
Accessor for whether the element is embedded into this table.boolean
isEmbeddedElementPC()
Accessor for whether the element is a persistable(embedded)boolean
isSerialisedElement()
Accessor for whether the element is serialised into this table.boolean
isSerialisedElementPC()
Accessor for whether the element is a persistable(serialised)-
Methods inherited from class org.datanucleus.store.rdbms.table.ElementContainerTable
applyUserPrimaryKeySpecification, getElementMapping, getExpectedCandidateKeys, getExpectedForeignKeys, getExpectedIndices, getForeignKeyToElement, getForeignKeyToOwner, getMemberMapping, getOrderMapping, getRelationDiscriminatorMapping, getRelationDiscriminatorValue
-
Methods inherited from class org.datanucleus.store.rdbms.table.JoinTable
getIdMapping, getOwnerMapping, getOwnerMemberMetaData, getOwnerTable, getPrimaryKey, requiresPrimaryKey
-
Methods inherited from class org.datanucleus.store.rdbms.table.TableImpl
createConstraints, dropConstraints, getSQLAddCandidateKeyStatements, getSQLAddFKStatements, getSQLCreateIndexStatements, getSQLCreateStatements, getSQLDropStatements, initializeColumnInfoForPrimaryKeyColumns, initializeColumnInfoFromDatastore, logMapping, validate, validateColumns, validateConstraints, validatePrimaryKey
-
Methods inherited from class org.datanucleus.store.rdbms.table.AbstractTable
addColumn, addColumnInternal, allowDDLOutput, assertIsInitialized, assertIsInitializedModified, assertIsPKInitialized, assertIsPKUninitialized, assertIsUninitialized, assertIsValidated, create, drop, equals, executeDdlStatement, executeDdlStatementList, exists, getCatalogName, getClassMetaData, getColumn, getColumnForName, getColumnForPosition, getColumns, getDatastoreIdentifierFullyQualified, getDiscriminatorMetaData, getIdentifier, getMemberColumnMappingForEmbeddedMember, getMemberColumnMappingForMember, getMemberColumnMappings, getName, getNumberOfColumns, getSchemaName, getStoreManager, getSurrogateColumn, getSurrogateMapping, getVersionMetaData, hasColumn, hasColumnName, hashCode, isInitialized, isInitializedModified, isPKInitialized, isValidated, postInitialize, preInitialize, tableExistsInDatastore, toString
-
-
-
-
Constructor Detail
-
ArrayTable
public ArrayTable(Table ownerTable, DatastoreIdentifier tableName, org.datanucleus.metadata.AbstractMemberMetaData mmd, RDBMSStoreManager storeMgr)
Constructor.- Parameters:
ownerTable
- Table of the owner of this membertableName
- Identifier name of the tablemmd
- MetaData for the member of the ownerstoreMgr
- The Store Manager managing these tables.
-
-
Method Detail
-
initialize
public void initialize(org.datanucleus.ClassLoaderResolver clr)
Method to initialise the table definition.- Specified by:
initialize
in interfaceTable
- Overrides:
initialize
in classElementContainerTable
- Parameters:
clr
- The ClassLoaderResolver
-
getElementType
public String getElementType()
Accessor for the element type stored in this array.- Specified by:
getElementType
in classElementContainerTable
- Returns:
- Name of element type.
-
isSerialisedElement
public boolean isSerialisedElement()
Accessor for whether the element is serialised into this table. This can be a serialised persistable, or a serialised simple type- Returns:
- Whether the element is serialised.
-
isEmbeddedElement
public boolean isEmbeddedElement()
Accessor for whether the element is embedded into this table. This can be an embedded persistable, or an embedded simple type- Returns:
- Whether the element is embedded.
-
isSerialisedElementPC
public boolean isSerialisedElementPC()
Accessor for whether the element is a persistable(serialised)- Returns:
- Whether the element is PC and is serialised
-
isEmbeddedElementPC
public boolean isEmbeddedElementPC()
Accessor for whether the element is a persistable(embedded)- Returns:
- Whether the element is PC and is embedded
-
-