Class ArrayTable

  • All Implemented Interfaces:
    DatastoreElementContainer, Table, org.datanucleus.store.schema.table.Table

    public class ArrayTable
    extends ElementContainerTable
    implements DatastoreElementContainer
    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 Detail

      • 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 Detail

      • 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
      • 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