org.jpox.store.mapping
Class SubclassPCMapping

java.lang.Object
  extended byorg.jpox.store.mapping.JavaTypeMapping
      extended byorg.jpox.store.mapping.MultiMapping
          extended byorg.jpox.store.mapping.SubclassPCMapping

public class SubclassPCMapping
extends MultiMapping

Mapping for a field that stores a PC object that uses "subclass-table" inheritance and where this is mapped in the datastore as a separate FK for each subclass.

Version:
$Revision: 1.5 $

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
SubclassPCMapping(DatastoreAdapter dba, AbstractPropertyMetaData fmd, DatastoreContainerObject datastoreContainer, ClassLoaderResolver clr)
          Constructor.
SubclassPCMapping(DatastoreAdapter dba, java.lang.String type)
          Constructor.
 
Method Summary
protected  void createColumns(DatastoreContainerObject datastoreContainer, AbstractPropertyMetaData fmd, ClassLoaderResolver clr)
          Convenience method to create a column for each implementation type of this reference.
 java.lang.Class getJavaType()
          Accessor for the java type being mapped
 java.lang.Object getSampleValue()
          Return a sample value of the mapping type to be used for internal evaluation of type and conversion.
 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.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

SubclassPCMapping

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

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

SubclassPCMapping

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

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

createColumns

protected void createColumns(DatastoreContainerObject datastoreContainer,
                             AbstractPropertyMetaData fmd,
                             ClassLoaderResolver clr)
Convenience method to create a column for each implementation type of this reference.

Parameters:
datastoreContainer - Table to use
fmd - MetaData for the field
clr - The ClassLoaderResolver

getJavaType

public java.lang.Class getJavaType()
Description copied from class: JavaTypeMapping
Accessor for the java type being mapped

Specified by:
getJavaType in class JavaTypeMapping
Returns:
The java type

getSampleValue

public java.lang.Object getSampleValue()
Description copied from class: JavaTypeMapping
Return a sample value of the mapping type to be used for internal evaluation of type and conversion.

Specified by:
getSampleValue in class JavaTypeMapping
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.