org.jpox.store.mapping
Class ObjectMapping

java.lang.Object
  extended byorg.jpox.store.mapping.JavaTypeMapping
      extended byorg.jpox.store.mapping.MultiMapping
          extended byorg.jpox.store.mapping.ReferenceMapping
              extended byorg.jpox.store.mapping.ObjectMapping

public class ObjectMapping
extends ReferenceMapping

Mapping for Object fields. An Object field has a list of possible (PersistenceCapable) types that it represents and so any Object field is mapped to a series of ForeignKey columns in the datastore.

Version:
$Revision: 1.14 $

Field Summary
 
Fields inherited from class org.jpox.store.mapping.MultiMapping
datastoreContainer, javaTypeMappings
 
Fields inherited from class org.jpox.store.mapping.JavaTypeMapping
datastoreMappings, dba, fmd, LOCALISER, referenceMapping, type
 
Constructor Summary
ObjectMapping(DatastoreAdapter dba, AbstractPropertyMetaData fmd, DatastoreContainerObject datastoreContainer, ClassLoaderResolver clr)
          Constructor.
ObjectMapping(DatastoreAdapter dba, java.lang.String type)
          Constructor.
 
Method Summary
 java.lang.Class getJavaType()
          Accessor for the Java type being represented.
 java.lang.Object getSampleValue()
          Accessor for a sample value for this Java type
 ScalarExpression newLiteral(QueryExpression qs, java.lang.Object value)
          Creates a literal from an value.
 ScalarExpression newScalarExpression(QueryExpression qs, LogicSetExpression te)
          Creates a expression from a field name/table.
 
Methods inherited from class org.jpox.store.mapping.ReferenceMapping
createColumns
 
Methods inherited from class org.jpox.store.mapping.MultiMapping
addJavaTypeMapping, getDatastoreContainer, getDataStoreMapping, getJavaTypeMapping, getNumberOfDatastoreFields, getObject, includeInFetchStatement, includeInInsertStatement, includeInUpdateStatement, setObject, setObject
 
Methods inherited from class org.jpox.store.mapping.JavaTypeMapping
addDataStoreMapping, failureMessage, getBoolean, getByte, getChar, getDataStoreMappings, getDouble, getFieldMetaData, getFloat, getInt, getLong, getObject, getReferenceMapping, getShort, getString, getType, isNullable, setBoolean, setByte, setChar, setDefault, setDouble, setFloat, setInt, setLong, setReferenceMapping, setShort, setString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ObjectMapping

public ObjectMapping(DatastoreAdapter dba,
                     java.lang.String type)
Constructor.

Parameters:
dba - Datastore adapter
type - The type of the (interface) field

ObjectMapping

public ObjectMapping(DatastoreAdapter dba,
                     AbstractPropertyMetaData fmd,
                     DatastoreContainerObject datastoreContainer,
                     ClassLoaderResolver clr)
Constructor.

Parameters:
dba - Datastroe adapter
fmd - MetaData for the (interface) field
datastoreContainer - Table where the interface is to be stored
clr - The ClassLoaderResolver
Method Detail

getJavaType

public java.lang.Class getJavaType()
Accessor for the Java type being represented.

Overrides:
getJavaType in class ReferenceMapping
Returns:
java.lang.Object

getSampleValue

public java.lang.Object getSampleValue()
Accessor for a sample value for this Java type

Overrides:
getSampleValue in class ReferenceMapping
Returns:
The sample value

newLiteral

public ScalarExpression newLiteral(QueryExpression qs,
                                   java.lang.Object value)
Description copied from class: JavaTypeMapping
Creates a literal from an value. A string literal is enclosed in single quotes. for example: "literal". A string literal that includes a single quote is represented by two single quotes. for example: "literal''s". An exact numeric literal is a numeric value without a decimal point, such as 57, -957, +62. An approximate numeric literal is a numeric value in scientific notation, such as 7E3, -57.9E2, or a numeric value with a decimal, such as 7., -95.7, +6.2.

Specified by:
newLiteral in class JavaTypeMapping
Parameters:
qs - The Query statement
value - The object
Returns:
A Scalar Expression

newScalarExpression

public ScalarExpression newScalarExpression(QueryExpression qs,
                                            LogicSetExpression te)
Description copied from class: JavaTypeMapping
Creates a expression from a field name/table. e.g. tablename.fieldname; tablealias.fieldalias

Specified by:
newScalarExpression in class JavaTypeMapping
Parameters:
qs - The Query statement
te - the alias for the table
Returns:
A Scalar Expression


Copyright © -2007 . All Rights Reserved.