Interface DatastoreClass

    • Method Detail

      • getType

        String getType()
        Accessor for the primary class represented.
        Returns:
        Name of the class
      • getIdentityType

        org.datanucleus.metadata.IdentityType getIdentityType()
        Accessor for the identity-type used by this table.
        Returns:
        identity-type tag value
      • isObjectIdDatastoreAttributed

        boolean isObjectIdDatastoreAttributed()
        Accessor for whether the object id will be attributed by the datastore directly, or whether values have to be supplied.
        Returns:
        Whether it is attributed in the datastore
      • isBaseDatastoreClass

        boolean isBaseDatastoreClass()
        Accessor for whether this datastore class is the base datastore class for this inheritance hierarchy.
        Returns:
        Whether it is the base.
      • getBaseDatastoreClass

        DatastoreClass getBaseDatastoreClass()
        Accessor for the base datastore class. Returns this object if it has no superclass table, otherwise goes up to the superclass etc.
        Returns:
        The base datastore class
      • getBaseDatastoreClassWithMember

        DatastoreClass getBaseDatastoreClassWithMember​(org.datanucleus.metadata.AbstractMemberMetaData fmd)
        Method to return the base DatastoreClass that persists the specified field. This navigates up through the superclass tables to find a table that manages the field.
        Parameters:
        fmd - MetaData for the field required
        Returns:
        The DatastoreClass managing that field
      • isSuperDatastoreClass

        boolean isSuperDatastoreClass​(DatastoreClass table)
        Accessor whether the supplied DatastoreClass is a supertable of this table.
        Parameters:
        table - The DatastoreClass to check
        Returns:
        Whether it is a supertable (somewhere up the inheritance tree)
      • getSuperDatastoreClass

        DatastoreClass getSuperDatastoreClass()
        Accessor for the supertable for this table. This is only relevant if the DatastoreClass in use supports supertables. If supertables arent supported by the datastore then null is returned.
        Returns:
        The supertable (if any)
      • getSecondaryDatastoreClasses

        Collection<SecondaryDatastoreClass> getSecondaryDatastoreClasses()
        Accessor for any secondary tables for this table.
        Returns:
        Collection of secondary tables (if any)
      • managesClass

        boolean managesClass​(String className)
        Accessor for whether this table manages the specified class
        Parameters:
        className - Name of the class
        Returns:
        Whether it is managed by this table
      • getManagedClasses

        String[] getManagedClasses()
        Accessor for the names of all classes managed by this table.
        Returns:
        Names of the classes managed (stored) here
      • managesMapping

        boolean managesMapping​(JavaTypeMapping mapping)
        Convenience method to return if this table manages the columns for the supplied mapping.
        Parameters:
        mapping - The mapping
        Returns:
        Whether the mapping is managed in this table
      • toString

        String toString()
        Accessor for the name of the datastore class (table).
        Overrides:
        toString in class Object
        Returns:
        The name
      • getMemberMapping

        JavaTypeMapping getMemberMapping​(String memberName)
        Accessor for the mapping for the specified member name. Doesn't cope with fields of the same name in different subclasses - you should call the equivalent method passing FieldMetaData for those.
        Parameters:
        memberName - Name of field/property
        Returns:
        The Mapping for the field/property
      • getMemberMapping

        JavaTypeMapping getMemberMapping​(org.datanucleus.metadata.AbstractMemberMetaData mmd)
        Accessor for the mapping for the specified field.
        Specified by:
        getMemberMapping in interface Table
        Parameters:
        mmd - Metadata of the field/property
        Returns:
        The Mapping for the field.
      • getMemberMappingInDatastoreClass

        JavaTypeMapping getMemberMappingInDatastoreClass​(org.datanucleus.metadata.AbstractMemberMetaData mmd)
        Accessor for the mapping for the specified field only in this datastore class.
        Parameters:
        mmd - Metadata of the field/property
        Returns:
        The Mapping for the field (or null if not present here)
      • providePrimaryKeyMappings

        void providePrimaryKeyMappings​(MappingConsumer consumer)
        Provide the mappings to the consumer for all primary-key fields mapped to this table (for application identity).
        Parameters:
        consumer - Consumer for the mappings
      • provideNonPrimaryKeyMappings

        void provideNonPrimaryKeyMappings​(MappingConsumer consumer)
        Provide the mappings to the consumer for all non primary-key fields mapped to this table.
        Parameters:
        consumer - Consumer for the mappings
      • provideMappingsForMembers

        void provideMappingsForMembers​(MappingConsumer consumer,
                                       org.datanucleus.metadata.AbstractMemberMetaData[] mmds,
                                       boolean includeSecondaryTables)
        Provide the mappings to the consumer for all specified members.
        Parameters:
        consumer - Consumer for the mappings
        mmds - MetaData of the fields/properties to provide mappings for
        includeSecondaryTables - Whether to supply fields in secondary tables
      • provideSurrogateMapping

        void provideSurrogateMapping​(org.datanucleus.store.schema.table.SurrogateColumnType colType,
                                     MappingConsumer consumer)
        Provide the mapping for the specified surrogate column (if present). This can be datastore id, discriminator, version, multitenancy, soft-delete, etc.
        Parameters:
        colType - Type of surrogate column
        consumer - The consumer for the mapping
      • provideUnmappedColumns

        void provideUnmappedColumns​(MappingConsumer consumer)
        Instruction to provide all columns without members in the class.
        Parameters:
        consumer - The consumer for the unmapped columns
      • provideExternalMappings

        void provideExternalMappings​(MappingConsumer consumer,
                                     MappingType mappingType)
        Instruction to provide all external mappings to the passed consumer.
        Parameters:
        consumer - The consumer for the mappings
        mappingType - Type of external mapping to provide
      • getExternalMapping

        JavaTypeMapping getExternalMapping​(org.datanucleus.metadata.AbstractMemberMetaData mmd,
                                           MappingType mappingType)
        Accessor for the external mapping for the specified member of the specified mapping type. An external mapping is a mapping for which there is no field in the actual class to represent it (part of a relation). The type can be FK, FK discriminator, order, etc
        Parameters:
        mmd - MetaData for the (external) field/property
        mappingType - The type of mapping
        Returns:
        The external mapping
      • getMetaDataForExternalMapping

        org.datanucleus.metadata.AbstractMemberMetaData getMetaDataForExternalMapping​(JavaTypeMapping mapping,
                                                                                      MappingType mappingType)
        Accessor for the owner field metadata for the specified external mapping of the specified type
        Parameters:
        mapping - The external mapping
        mappingType - The type of mapping
        Returns:
        Field MetaData in the owner class