|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.jpox.store.mapping.JavaTypeMapping
public abstract class JavaTypeMapping
Representation of the mapping of a Java type. The java type maps to one or more datastore mappings. This means that a field in a java class can be mapped to many columns in a table (in an RDBMS). A JavaTypeMapping can exist in 2 forms
| Field Summary | |
|---|---|
protected DatastoreContainerObject |
datastoreContainer
The Datastore Container storing this mapping. |
protected DatastoreMapping[] |
datastoreMappings
The Datastore mappings for this Java type. |
protected DatastoreAdapter |
dba
Adapter for the datastore being used. |
protected AbstractMemberMetaData |
fmd
The field definition, when the type relates specifically to a field. |
protected static Localiser |
LOCALISER
Localiser for messages |
static int |
MAPPING_ARRAY_ELEMENT
Role signifying that the mapping is for an array element in a join table |
static int |
MAPPING_COLLECTION_ELEMENT
Role signifying that the mapping is for a collection element in a join table |
static int |
MAPPING_FIELD
Role signifying that the mapping is for a field in the primary class table |
static int |
MAPPING_MAP_KEY
Role signifying that the mapping is for a map key in a join table |
static int |
MAPPING_MAP_VALUE
Role signifying that the mapping is for a value in a join table |
protected JavaTypeMapping |
referenceMapping
Mapping of the reference on the end of the association - Only used when this mapping does not have datastore fields, but the other side of the association has |
protected int |
roleForField
Role of the mapping for the field. |
protected java.lang.String |
type
Actual type being mapped |
| Constructor Summary | |
|---|---|
protected |
JavaTypeMapping()
Create a new empty JavaTypeMapping. |
protected |
JavaTypeMapping(DatastoreAdapter dba,
java.lang.String type,
AbstractMemberMetaData fmd,
DatastoreContainerObject container)
Create a new Mapping with the given DatastoreAdapter for the given type. |
| Method Summary | |
|---|---|
void |
addDataStoreMapping(DatastoreMapping datastoreMapping)
Method to add a datastore mapping |
protected java.lang.String |
failureMessage(java.lang.String method)
Utility to output any error message. |
boolean |
getBoolean(ObjectManager om,
java.lang.Object datastoreResults,
int[] exprIndex)
Obtains a value from datastoreResults
at position specified by exprIndex. |
byte |
getByte(ObjectManager om,
java.lang.Object datastoreResults,
int[] exprIndex)
Obtains a value from datastoreResults
at position specified by exprIndex. |
char |
getChar(ObjectManager om,
java.lang.Object datastoreResults,
int[] exprIndex)
Obtains a value from datastoreResults
at position specified by exprIndex. |
DatastoreContainerObject |
getDatastoreContainer()
Accessor for the datastore class (e.g in an RDBMS context, the Table). |
DatastoreMapping |
getDataStoreMapping(int index)
Accessor for a datastore mapping |
DatastoreMapping[] |
getDataStoreMappings()
Accessor for the datastore mappings for this java type |
double |
getDouble(ObjectManager om,
java.lang.Object datastoreResults,
int[] exprIndex)
Obtains a value from datastoreResults
at position specified by exprIndex. |
AbstractMemberMetaData |
getFieldMetaData()
Accessor for the FieldMetaData of the field to be mapped. |
float |
getFloat(ObjectManager om,
java.lang.Object datastoreResults,
int[] exprIndex)
Obtains a value from datastoreResults
at position specified by exprIndex. |
int |
getInt(ObjectManager om,
java.lang.Object datastoreResults,
int[] exprIndex)
Obtains a value from datastoreResults
at position specified by exprIndex. |
abstract java.lang.Class |
getJavaType()
Accessor for the java type being mapped. |
java.lang.String |
getJavaTypeForDatastoreMapping(int index)
Accessor for the name of the java-type actually used when mapping the particular datastore field. |
long |
getLong(ObjectManager om,
java.lang.Object datastoreResults,
int[] exprIndex)
Obtains a value from datastoreResults
at position specified by exprIndex. |
int |
getNumberOfDatastoreFields()
Acessor for the number of datastore fields (e.g. |
java.lang.Object |
getObject(ObjectManager om,
java.lang.Object datastoreResults,
int[] exprIndex)
Obtains a value from datastoreResults
at position specified by exprIndex. |
java.lang.Object |
getObject(ObjectManager om,
java.lang.Object datastoreResults,
int[] exprIndex,
StateManager ownerSM,
int ownerFieldNumber)
Obtains a value from datastoreResults
at position specified by exprIndex. |
JavaTypeMapping |
getReferenceMapping()
Accessor for the mapping at the other end of a relation when this field is part of a 1-1, 1-N, M-N relation. |
int |
getRoleForField()
Accessor for the role of the is mapping for the field. |
abstract java.lang.Object |
getSampleValue(ClassLoaderResolver clr)
Return a sample value of the mapping type to be used for internal evaluation of type and conversion. |
short |
getShort(ObjectManager om,
java.lang.Object datastoreResults,
int[] exprIndex)
Obtains a value from datastoreResults
at position specified by exprIndex. |
java.lang.String |
getString(ObjectManager om,
java.lang.Object datastoreResults,
int[] exprIndex)
Obtains a value from datastoreResults
at position specified by exprIndex. |
java.lang.String |
getType()
Accessor for the class name of the object that is being mapped here. |
boolean |
includeInFetchStatement()
Accessor for whether this mapping is to be included in any fetch statement. |
boolean |
includeInInsertStatement()
Accessor for whether this mapping is to be included in the insert statement. |
boolean |
includeInUpdateStatement()
Accessor for whether this mapping is to be included in the update statement. |
void |
initialize(DatastoreAdapter dba,
AbstractMemberMetaData fmd,
DatastoreContainerObject container,
ClassLoaderResolver clr)
Initialize this JavaTypeMapping with the given DatastoreAdapter for the given FieldMetaData. |
void |
initialize(DatastoreAdapter dba,
java.lang.String type)
Initialize this JavaTypeMapping with the given DatastoreAdapter for the given type. |
boolean |
isNullable()
Accessor for whether this mapping is nullable |
boolean |
isSerialised()
Convenience method to return if the (part of the) field being represented by this mapping is serialised. |
abstract ScalarExpression |
newLiteral(QueryExpression qs,
java.lang.Object value)
Creates a literal from an value. |
abstract ScalarExpression |
newScalarExpression(QueryExpression qs,
LogicSetExpression te)
Creates a expression from a field name/table. |
void |
setBoolean(ObjectManager om,
java.lang.Object datastoreStatement,
int[] exprIndex,
boolean value)
Sets a value into datastoreStatement
at position specified by exprIndex. |
void |
setByte(ObjectManager om,
java.lang.Object datastoreStatement,
int[] exprIndex,
byte value)
Sets a value into datastoreStatement
at position specified by exprIndex. |
void |
setChar(ObjectManager om,
java.lang.Object datastoreStatement,
int[] exprIndex,
char value)
Sets a value into datastoreStatement
at position specified by exprIndex. |
void |
setDefault(ObjectManager om,
java.lang.Object datastoreStatement,
int[] exprIndex)
Convenience setter to provide a default value for this field. |
void |
setDouble(ObjectManager om,
java.lang.Object datastoreStatement,
int[] exprIndex,
double value)
Sets a value into datastoreStatement
at position specified by exprIndex. |
void |
setFieldInformation(AbstractMemberMetaData fmd,
DatastoreContainerObject container)
Convenience method for use where the mapping was created for a particular type (using the initialize(DatastoreAdapter, String) and we now have the field that it applies for. |
void |
setFloat(ObjectManager om,
java.lang.Object datastoreStatement,
int[] exprIndex,
float value)
Sets a value into datastoreStatement
at position specified by exprIndex. |
void |
setInt(ObjectManager om,
java.lang.Object datastoreStatement,
int[] exprIndex,
int value)
Sets a value into datastoreStatement
at position specified by exprIndex. |
void |
setLong(ObjectManager om,
java.lang.Object datastoreStatement,
int[] exprIndex,
long value)
Sets a value into datastoreStatement
at position specified by exprIndex. |
void |
setObject(ObjectManager om,
java.lang.Object datastoreStatement,
int[] exprIndex,
java.lang.Object value)
Sets a value into datastoreStatement
at position specified by exprIndex. |
void |
setObject(ObjectManager om,
java.lang.Object datastoreStatement,
int[] exprIndex,
java.lang.Object value,
StateManager ownerSM,
int ownerFieldNumber)
Sets a value into datastoreStatement
at position specified by exprIndex. |
void |
setReferenceMapping(JavaTypeMapping referenceMapping)
Method to set the mapping at the other end of the relation. |
void |
setRoleForField(int role)
Method to set the role for the field. |
void |
setShort(ObjectManager om,
java.lang.Object datastoreStatement,
int[] exprIndex,
short value)
Sets a value into datastoreStatement
at position specified by exprIndex. |
void |
setString(ObjectManager om,
java.lang.Object datastoreStatement,
int[] exprIndex,
java.lang.String value)
Sets a value into datastoreStatement
at position specified by exprIndex. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected static final Localiser LOCALISER
public static final int MAPPING_FIELD
public static final int MAPPING_COLLECTION_ELEMENT
public static final int MAPPING_ARRAY_ELEMENT
public static final int MAPPING_MAP_KEY
public static final int MAPPING_MAP_VALUE
protected AbstractMemberMetaData fmd
protected int roleForField
protected DatastoreMapping[] datastoreMappings
protected DatastoreContainerObject datastoreContainer
protected DatastoreAdapter dba
protected java.lang.String type
protected JavaTypeMapping referenceMapping
| Constructor Detail |
|---|
protected JavaTypeMapping()
The combination of this empty constructor and one of the initialize method is used instead of parameterized constructors for efficientcy purpose, both in execution time and code maintainability. See MappingFactory for how they are used.
Concrete subclasses must have a public accesstable empty constructor.
protected JavaTypeMapping(DatastoreAdapter dba,
java.lang.String type,
AbstractMemberMetaData fmd,
DatastoreContainerObject container)
dba - The Datastore Adapter that this Mapping should use.type - The Class that this mapping maps to the database.fmd - FieldMetaData for the field to be mapped (if any)container - The datastore container storing this mapping (if any)| Method Detail |
|---|
public void initialize(DatastoreAdapter dba,
java.lang.String type)
dba - The Datastore Adapter that this Mapping should use.type - The Class that this mapping maps to the database.MappingFactory.createMapping(Class, DatastoreAdapter, String)
public void initialize(DatastoreAdapter dba,
AbstractMemberMetaData fmd,
DatastoreContainerObject container,
ClassLoaderResolver clr)
dba - The Datastore Adapter that this Mapping should use.fmd - FieldMetaData for the field to be mapped (if any)container - The datastore container storing this mapping (if any)clr - the ClassLoaderResolver
public void setFieldInformation(AbstractMemberMetaData fmd,
DatastoreContainerObject container)
fmd - Field MetaDatacontainer - Container (table) that the mapping is forpublic void setRoleForField(int role)
role - Role for field.public boolean isSerialised()
public boolean isNullable()
public DatastoreMapping[] getDataStoreMappings()
public DatastoreContainerObject getDatastoreContainer()
public DatastoreMapping getDataStoreMapping(int index)
index - The id of the mapping
public JavaTypeMapping getReferenceMapping()
public void setReferenceMapping(JavaTypeMapping referenceMapping)
referenceMapping - The mapping at the other endpublic void addDataStoreMapping(DatastoreMapping datastoreMapping)
datastoreMapping - The datastore mappingpublic int getNumberOfDatastoreFields()
public AbstractMemberMetaData getFieldMetaData()
public int getRoleForField()
public abstract java.lang.Class getJavaType()
public java.lang.String getJavaTypeForDatastoreMapping(int index)
index - requested datastore field index.
public java.lang.String getType()
public abstract java.lang.Object getSampleValue(ClassLoaderResolver clr)
clr - TODO
public boolean includeInFetchStatement()
public boolean includeInUpdateStatement()
public boolean includeInInsertStatement()
public abstract ScalarExpression newLiteral(QueryExpression qs,
java.lang.Object value)
qs - The Query statementvalue - The object
public abstract ScalarExpression newScalarExpression(QueryExpression qs,
LogicSetExpression te)
qs - The Query statementte - the alias for the table
protected java.lang.String failureMessage(java.lang.String method)
method - The method that failed.
public void setDefault(ObjectManager om,
java.lang.Object datastoreStatement,
int[] exprIndex)
om - The ObjectManagerdatastoreStatement - Prepared StatementexprIndex - The indices in the statement
public void setBoolean(ObjectManager om,
java.lang.Object datastoreStatement,
int[] exprIndex,
boolean value)
value into datastoreStatement
at position specified by exprIndex.
om - the ObjectManagerdatastoreStatement - a datastore object that executes statements in the databaseexprIndex - the position of the value in the statementvalue - the value
public boolean getBoolean(ObjectManager om,
java.lang.Object datastoreResults,
int[] exprIndex)
datastoreResults
at position specified by exprIndex.
om - the ObjectManagerdatastoreResults - an object returned from the datastore with valuesexprIndex - the position of the value in the result
public void setChar(ObjectManager om,
java.lang.Object datastoreStatement,
int[] exprIndex,
char value)
value into datastoreStatement
at position specified by exprIndex.
om - the ObjectManagerdatastoreStatement - a datastore object that executes statements in the databaseexprIndex - the position of the value in the statementvalue - the value
public char getChar(ObjectManager om,
java.lang.Object datastoreResults,
int[] exprIndex)
datastoreResults
at position specified by exprIndex.
om - the ObjectManagerdatastoreResults - an object returned from the datastore with valuesexprIndex - the position of the value in the result
public void setByte(ObjectManager om,
java.lang.Object datastoreStatement,
int[] exprIndex,
byte value)
value into datastoreStatement
at position specified by exprIndex.
om - the ObjectManagerdatastoreStatement - a datastore object that executes statements in the databaseexprIndex - the position of the value in the statementvalue - the value
public byte getByte(ObjectManager om,
java.lang.Object datastoreResults,
int[] exprIndex)
datastoreResults
at position specified by exprIndex.
om - the ObjectManagerdatastoreResults - an object returned from the datastore with valuesexprIndex - the position of the value in the result
public void setShort(ObjectManager om,
java.lang.Object datastoreStatement,
int[] exprIndex,
short value)
value into datastoreStatement
at position specified by exprIndex.
om - the ObjectManagerdatastoreStatement - a datastore object that executes statements in the databaseexprIndex - the position of the value in the statementvalue - the value
public short getShort(ObjectManager om,
java.lang.Object datastoreResults,
int[] exprIndex)
datastoreResults
at position specified by exprIndex.
om - the ObjectManagerdatastoreResults - an object returned from the datastore with valuesexprIndex - the position of the value in the result
public void setInt(ObjectManager om,
java.lang.Object datastoreStatement,
int[] exprIndex,
int value)
value into datastoreStatement
at position specified by exprIndex.
om - the ObjectManagerdatastoreStatement - a datastore object that executes statements in the databaseexprIndex - the position of the value in the statementvalue - the value
public int getInt(ObjectManager om,
java.lang.Object datastoreResults,
int[] exprIndex)
datastoreResults
at position specified by exprIndex.
om - the ObjectManagerdatastoreResults - an object returned from the datastore with valuesexprIndex - the position of the value in the result
public void setLong(ObjectManager om,
java.lang.Object datastoreStatement,
int[] exprIndex,
long value)
value into datastoreStatement
at position specified by exprIndex.
om - the ObjectManagerdatastoreStatement - a datastore object that executes statements in the databaseexprIndex - the position of the value in the statementvalue - the value
public long getLong(ObjectManager om,
java.lang.Object datastoreResults,
int[] exprIndex)
datastoreResults
at position specified by exprIndex.
om - the ObjectManagerdatastoreResults - an object returned from the datastore with valuesexprIndex - the position of the value in the result
public void setFloat(ObjectManager om,
java.lang.Object datastoreStatement,
int[] exprIndex,
float value)
value into datastoreStatement
at position specified by exprIndex.
om - the ObjectManagerdatastoreStatement - a datastore object that executes statements in the databaseexprIndex - the position of the value in the statementvalue - the value
public float getFloat(ObjectManager om,
java.lang.Object datastoreResults,
int[] exprIndex)
datastoreResults
at position specified by exprIndex.
om - the ObjectManagerdatastoreResults - an object returned from the datastore with valuesexprIndex - the position of the value in the result
public void setDouble(ObjectManager om,
java.lang.Object datastoreStatement,
int[] exprIndex,
double value)
value into datastoreStatement
at position specified by exprIndex.
om - the ObjectManagerdatastoreStatement - a datastore object that executes statements in the databaseexprIndex - the position of the value in the statementvalue - the value
public double getDouble(ObjectManager om,
java.lang.Object datastoreResults,
int[] exprIndex)
datastoreResults
at position specified by exprIndex.
om - the ObjectManagerdatastoreResults - an object returned from the datastore with valuesexprIndex - the position of the value in the result
public void setString(ObjectManager om,
java.lang.Object datastoreStatement,
int[] exprIndex,
java.lang.String value)
value into datastoreStatement
at position specified by exprIndex.
om - the ObjectManagerdatastoreStatement - a datastore object that executes statements in the databaseexprIndex - the position of the value in the statementvalue - the value
public java.lang.String getString(ObjectManager om,
java.lang.Object datastoreResults,
int[] exprIndex)
datastoreResults
at position specified by exprIndex.
om - the ObjectManagerdatastoreResults - an object returned from the datastore with valuesexprIndex - the position of the value in the result
public void setObject(ObjectManager om,
java.lang.Object datastoreStatement,
int[] exprIndex,
java.lang.Object value,
StateManager ownerSM,
int ownerFieldNumber)
value into datastoreStatement
at position specified by exprIndex.
om - the ObjectManagerdatastoreStatement - a datastore object that executes statements in the databaseexprIndex - the position of the value in the statementvalue - the valueownerSM - the owner StateManagerownerFieldNumber - the owner absolute field number
public void setObject(ObjectManager om,
java.lang.Object datastoreStatement,
int[] exprIndex,
java.lang.Object value)
value into datastoreStatement
at position specified by exprIndex.
om - the ObjectManagerdatastoreStatement - a datastore object that executes statements in the databaseexprIndex - the position of the value in the statementvalue - the value
public java.lang.Object getObject(ObjectManager om,
java.lang.Object datastoreResults,
int[] exprIndex,
StateManager ownerSM,
int ownerFieldNumber)
datastoreResults
at position specified by exprIndex.
om - the ObjectManagerdatastoreResults - an object returned from the datastore with valuesexprIndex - the position of the value in the resultownerSM - the owner StateManagerownerFieldNumber - the owner absolute field number
public java.lang.Object getObject(ObjectManager om,
java.lang.Object datastoreResults,
int[] exprIndex)
datastoreResults
at position specified by exprIndex.
om - the ObjectManagerdatastoreResults - an object returned from the datastore with valuesexprIndex - the position of the value in the result
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||