org.datanucleus.store.mapped
Interface DatastoreClass

All Superinterfaces:
DatastoreContainerObject
All Known Subinterfaces:
SecondaryDatastoreClass

public interface DatastoreClass
extends DatastoreContainerObject

Representation of a Java class in a datastore. In the case of RDBMS this will be a table (primary or secondary). In the case of a file-based structure this may be a directory.


Method Summary
 DatastoreClass getBaseDatastoreClassWithMember(AbstractMemberMetaData fmd)
          Method to return the base DatastoreClass that persists the specified field.
 JavaTypeMapping getDatastoreObjectIdMapping()
          Accessor for a mapping for the datastore ID (OID) for this object.
 JavaTypeMapping getExternalMapping(AbstractMemberMetaData mmd, int mappingType)
          Accessor for the external mapping for the specified field of the specified type.
 IdentityType getIdentityType()
          Accessor for the identity-type used by this table.
 JavaTypeMapping getMemberMapping(AbstractMemberMetaData mmd)
          Accessor for the mapping for the specified field.
 JavaTypeMapping getMemberMapping(java.lang.String memberName)
          Accessor for the mapping for the specified member name.
 JavaTypeMapping getMemberMappingInDatastoreClass(AbstractMemberMetaData mmd)
          Accessor for the mapping for the specified field only in this datastore class.
 AbstractMemberMetaData getMetaDataForExternalMapping(JavaTypeMapping mapping, int mappingType)
          Accessor for the owner field metadata for the specified external mapping of the specified type
 java.util.Collection getSecondaryDatastoreClasses()
          Accessor for any secondary tables for this table.
 DatastoreClass getSuperDatastoreClass()
          Accessor for the supertable for this table.
 java.lang.String getType()
          Accessor for the primary class represented.
 boolean isBaseDatastoreClass()
          Accessor for whether this datastore class is the base datastore class for this inheritance hierarchy.
 boolean isObjectIdDatastoreAttributed()
          Accessor for whether the object id will be attributed by the datastore directly, or whether values have to be supplied.
 boolean isSuperDatastoreClass(DatastoreClass table)
          Accessor whether the supplied DatastoreClass is a supertable of this table.
 boolean managesClass(java.lang.String className)
          Accessor for whether this table manages the specified class
 boolean managesMapping(JavaTypeMapping mapping)
          Convenience method to return if this table manages the columns for the supplied mapping.
 void provideDatastoreIdMappings(MappingConsumer consumer)
          Accessor for a mapping for the datastore ID (OID) for this table.
 void provideDiscriminatorMappings(MappingConsumer consumer)
          Provide the mappings to discriminator mappings
 void provideExternalMappings(MappingConsumer consumer, int mappingType)
          Instruction to provide all external mappings to the passed consumer.
 void provideMappingsForMembers(MappingConsumer consumer, AbstractMemberMetaData[] mmds, boolean includeSecondaryTables)
          Provide the mappings to the consumer for all specified members.
 void provideNonPrimaryKeyMappings(MappingConsumer consumer)
          Provide the mappings to the consumer for all non primary-key fields mapped to this table.
 void providePrimaryKeyMappings(MappingConsumer consumer)
          Provide the mappings to the consumer for all primary-key fields mapped to this table (for application identity).
 void provideUnmappedDatastoreFields(MappingConsumer consumer)
          Instruction to provide all datastore fields without mappings.
 void provideVersionMappings(MappingConsumer consumer)
          Provide the mappings to version mappings
 java.lang.String toString()
          Accessor for the name of the datastore class (table).
 
Methods inherited from interface org.datanucleus.store.mapped.DatastoreContainerObject
addDatastoreField, getDatastoreField, getDatastoreFields, getDiscriminatorMapping, getDiscriminatorMetaData, getIdentifier, getIdMapping, getStoreManager, getVersionMapping, getVersionMetaData, hasDatastoreField
 

Method Detail

getType

java.lang.String getType()
Accessor for the primary class represented.

Returns:
Name of the class

getIdentityType

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.

getBaseDatastoreClassWithMember

DatastoreClass getBaseDatastoreClassWithMember(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

java.util.Collection getSecondaryDatastoreClasses()
Accessor for any secondary tables for this table.

Returns:
Collection of secondary tables (if any)

managesClass

boolean managesClass(java.lang.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

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

java.lang.String toString()
Accessor for the name of the datastore class (table).

Overrides:
toString in class java.lang.Object
Returns:
The name

getDatastoreObjectIdMapping

JavaTypeMapping getDatastoreObjectIdMapping()
Accessor for a mapping for the datastore ID (OID) for this object.

Returns:
The (OID) mapping.

getMemberMapping

JavaTypeMapping getMemberMapping(java.lang.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(AbstractMemberMetaData mmd)
Accessor for the mapping for the specified field.

Specified by:
getMemberMapping in interface DatastoreContainerObject
Parameters:
mmd - Metadata of the field/property
Returns:
The Mapping for the field.

getMemberMappingInDatastoreClass

JavaTypeMapping getMemberMappingInDatastoreClass(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)

provideDatastoreIdMappings

void provideDatastoreIdMappings(MappingConsumer consumer)
Accessor for a mapping for the datastore ID (OID) for this table.

Parameters:
consumer - Consumer for the mappings

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

provideVersionMappings

void provideVersionMappings(MappingConsumer consumer)
Provide the mappings to version mappings

Parameters:
consumer - Consumer for the version mappings

provideDiscriminatorMappings

void provideDiscriminatorMappings(MappingConsumer consumer)
Provide the mappings to discriminator mappings

Parameters:
consumer - Consumer for the mappings

provideUnmappedDatastoreFields

void provideUnmappedDatastoreFields(MappingConsumer consumer)
Instruction to provide all datastore fields without mappings.

Parameters:
consumer - The consumer for the datastore fields

provideExternalMappings

void provideExternalMappings(MappingConsumer consumer,
                             int 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(AbstractMemberMetaData mmd,
                                   int mappingType)
Accessor for the external mapping for the specified field of the specified 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

AbstractMemberMetaData getMetaDataForExternalMapping(JavaTypeMapping mapping,
                                                     int 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


Copyright © 2010. All Rights Reserved.