SolarMetric Kodo JDO 2.5.0 Reverse Schema Tool

com.solarmetric.rd.kodo.impl.jdbc.query.exp
Class SQLPath

java.lang.Object
  |
  +--com.solarmetric.rd.kodo.impl.jdbc.query.exp.SQLPath
All Implemented Interfaces:
JDBCPath, JDBCValue, Path, Value

public class SQLPath
extends java.lang.Object
implements JDBCPath

A path represents a traversal into fields of a candidate object.


Constructor Summary
SQLPath(com.solarmetric.rd.kodo.impl.jdbc.meta.ClassMapping type)
          Return a path starting with the 'this' ptr.
SQLPath(com.solarmetric.rd.kodo.impl.jdbc.meta.ClassMapping candidate, com.solarmetric.rd.kodo.impl.jdbc.query.exp.Variable var)
          Return a path starting from the given variable.
 
Method Summary
 void appendIsEmpty(com.solarmetric.rd.kodo.impl.jdbc.schema.SQLBuffer sql)
          Append the SQL testing whether this value is empty to the given buffer.
 void appendIsNotNull(com.solarmetric.rd.kodo.impl.jdbc.schema.SQLBuffer sql)
          Append the SQL testing whether this value is not null to the given buffer.
 void appendIsNull(com.solarmetric.rd.kodo.impl.jdbc.schema.SQLBuffer sql)
          Append the SQL testing whether this value is null to the given buffer.
 void appendTo(com.solarmetric.rd.kodo.impl.jdbc.schema.SQLBuffer sql, int index)
          Append the SQL for this value to the given buffer.
 void calculateValue(com.solarmetric.rd.kodo.runtime.PersistenceManagerImpl pm, java.util.Map params, com.solarmetric.rd.kodo.impl.jdbc.query.exp.JDBCValue other)
          Calculate and cache the SQL for this value.
 void castTo(java.lang.Class type)
          Cast this value to the given class.
 void get(java.lang.String field)
          Traverse into the given field of the current object, and update the current object to that field value.
 com.solarmetric.rd.kodo.impl.jdbc.meta.ClassMapping getClassMapping()
          Return the class mapping for this path.
 java.lang.Object getDataStoreValue(java.lang.Object val)
          Transform the given value into its datastore equivalent.
 com.solarmetric.rd.kodo.impl.jdbc.meta.FieldMapping getFieldMapping()
          Return the field mapping for this path.
 com.solarmetric.rd.kodo.impl.jdbc.runtime.Joins getJoins()
          Return the joins for this value.
 void getKey()
           
 java.lang.String getPath()
          Return the string of fields this path traverses.
 void initialize(com.solarmetric.rd.kodo.runtime.PersistenceManagerImpl pm, com.solarmetric.rd.kodo.impl.jdbc.runtime.Select select, boolean nullTest)
          Initialize the value.
 boolean isUnaccessedVariable()
          Return true if this is a bound variable that has not been accessed after binding.
 boolean isVariable()
          Return true if this value is a variable.
 int length()
          Return the number of SQL elements in this value.
 void setContainsId(java.lang.String id)
          If this path is part of a contains clause, then alias it to the proper contains id before initialization.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SQLPath

public SQLPath(com.solarmetric.rd.kodo.impl.jdbc.meta.ClassMapping type)
Return a path starting with the 'this' ptr.


SQLPath

public SQLPath(com.solarmetric.rd.kodo.impl.jdbc.meta.ClassMapping candidate,
               com.solarmetric.rd.kodo.impl.jdbc.query.exp.Variable var)
Return a path starting from the given variable.

Method Detail

isVariable

public boolean isVariable()
Description copied from interface: Value
Return true if this value is a variable.

Specified by:
isVariable in interface Value

getClassMapping

public com.solarmetric.rd.kodo.impl.jdbc.meta.ClassMapping getClassMapping()
Return the class mapping for this path.


getFieldMapping

public com.solarmetric.rd.kodo.impl.jdbc.meta.FieldMapping getFieldMapping()
Return the field mapping for this path.


getPath

public java.lang.String getPath()
Return the string of fields this path traverses.


isUnaccessedVariable

public boolean isUnaccessedVariable()
Return true if this is a bound variable that has not been accessed after binding. Useful for filters like "coll.contains (var) && var == null", which should really just act like "coll.contains (null)".


setContainsId

public void setContainsId(java.lang.String id)
If this path is part of a contains clause, then alias it to the proper contains id before initialization.


get

public void get(java.lang.String field)
Description copied from interface: Path
Traverse into the given field of the current object, and update the current object to that field value.

Specified by:
get in interface Path

getKey

public void getKey()
Specified by:
getKey in interface JDBCPath

castTo

public void castTo(java.lang.Class type)
Description copied from interface: JDBCValue
Cast this value to the given class.

Specified by:
castTo in interface JDBCValue

initialize

public void initialize(com.solarmetric.rd.kodo.runtime.PersistenceManagerImpl pm,
                       com.solarmetric.rd.kodo.impl.jdbc.runtime.Select select,
                       boolean nullTest)
Description copied from interface: JDBCValue
Initialize the value. This method should recursively initialize any sub-values. It should also cache the Joins instance containing the joins for this value.

Specified by:
initialize in interface JDBCValue
Parameters:
pm - the persistence manager for the query
select - used to create Joins instances
nullTest - if true, then this value will be compared to null or tested for emptiness

calculateValue

public void calculateValue(com.solarmetric.rd.kodo.runtime.PersistenceManagerImpl pm,
                           java.util.Map params,
                           com.solarmetric.rd.kodo.impl.jdbc.query.exp.JDBCValue other)
Description copied from interface: JDBCValue
Calculate and cache the SQL for this value.

Specified by:
calculateValue in interface JDBCValue

length

public int length()
Description copied from interface: JDBCValue
Return the number of SQL elements in this value.

Specified by:
length in interface JDBCValue

appendTo

public void appendTo(com.solarmetric.rd.kodo.impl.jdbc.schema.SQLBuffer sql,
                     int index)
Description copied from interface: JDBCValue
Append the SQL for this value to the given buffer.

Specified by:
appendTo in interface JDBCValue

appendIsEmpty

public void appendIsEmpty(com.solarmetric.rd.kodo.impl.jdbc.schema.SQLBuffer sql)
Description copied from interface: JDBCValue
Append the SQL testing whether this value is empty to the given buffer.

Specified by:
appendIsEmpty in interface JDBCValue

appendIsNull

public void appendIsNull(com.solarmetric.rd.kodo.impl.jdbc.schema.SQLBuffer sql)
Description copied from interface: JDBCValue
Append the SQL testing whether this value is null to the given buffer.

Specified by:
appendIsNull in interface JDBCValue

appendIsNotNull

public void appendIsNotNull(com.solarmetric.rd.kodo.impl.jdbc.schema.SQLBuffer sql)
Description copied from interface: JDBCValue
Append the SQL testing whether this value is not null to the given buffer.

Specified by:
appendIsNotNull in interface JDBCValue

getJoins

public com.solarmetric.rd.kodo.impl.jdbc.runtime.Joins getJoins()
Description copied from interface: JDBCValue
Return the joins for this value. These joins should be created and cached during the JDBCValue.initialize(com.solarmetric.rd.kodo.runtime.PersistenceManagerImpl, com.solarmetric.rd.kodo.impl.jdbc.runtime.Select, boolean) method. The parent expression might modify these joins during its own initialization so that common joins are moved up the expression tree. These joins should not be included in the SQL appended through any of the append methods.

Specified by:
getJoins in interface JDBCValue

getDataStoreValue

public java.lang.Object getDataStoreValue(java.lang.Object val)
Description copied from interface: JDBCValue
Transform the given value into its datastore equivalent.

Specified by:
getDataStoreValue in interface JDBCValue

SolarMetric Kodo JDO 2.5.0 Reverse Schema Tool

Copyright 2001,2002,2003 SolarMetric, Inc. All Rights Reserved.