Class 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.
The primary-key is formed from the ownerMapping and the orderMapping (unless overridden by the user).
  • Constructor Details

    • ArrayTable

      public ArrayTable(Table ownerTable, DatastoreIdentifier tableName, org.datanucleus.metadata.AbstractMemberMetaData mmd, RDBMSStoreManager storeMgr)
      Constructor.
      Parameters:
      ownerTable - Table of the owner of this member
      tableName - Identifier name of the table
      mmd - MetaData for the member of the owner
      storeMgr - The Store Manager managing these tables.
  • Method Details

    • initialize

      public void initialize(org.datanucleus.ClassLoaderResolver clr)
      Method to initialise the table definition.
      Specified by:
      initialize in interface Table
      Overrides:
      initialize in class ElementContainerTable
      Parameters:
      clr - The ClassLoaderResolver
    • getElementType

      public String getElementType()
      Accessor for the element type stored in this array.
      Specified by:
      getElementType in class ElementContainerTable
      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