Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.openjpa.jdbc.kernel.exps
Class PCPath

    java.lang.Object
      org.apache.openjpa.kernel.exps.Val
          org.apache.openjpa.kernel.exps.CandidatePath
              org.apache.openjpa.jdbc.kernel.exps.PCPath

All Implemented Interfaces:
  Serializable, JDBCPath, Val, Path, Value

    public class PCPath

extends CandidatePath
implements JDBCPath

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

Author:
  Abe White
See Also:
  Serialized Form

Nested Class Summary
`static class` | `PCPath.PathExpState` Expression state.

Nested classes/interfaces inherited from class org.apache.openjpa.kernel.exps.CandidatePath
`CandidatePath.Traversal`

Field Summary
`protected static String` | `FALSE`
`protected static String` | `TRUE`

Fields inherited from class org.apache.openjpa.kernel.exps.CandidatePath
`_actions, _correlationVar`

Fields inherited from interface org.apache.openjpa.jdbc.kernel.exps.Val
`ABS_VAL, ARGS_VAL, CMP_EQUAL, COALESCE_VAL, CONCAT_VAL, FORCE_OUTER, GENERALCASE_VAL, INDEXOF_VAL, JOIN_REL, LENGTH_VAL, LOCATE_VAL, LOWER_VAL, MATH_VAL, NULL_CMP, NULLIF_VAL, SIMPLECASE_VAL, SQRT_VAL, SUBSTRING_VAL, TRIM_VAL, UPPER_VAL, VAL, WHENCONDITION_VAL, WHENSCALAR_VAL`

Constructor Summary
`PCPath(ClassMapping type)` Return a path starting with the 'this' ptr.
`PCPath(ClassMapping candidate, Variable var)` Return a path starting from the given variable.
`PCPath(SubQ sub)` Return a path starting from the given subquery.

Method Summary
`void` | `addVariableAction(Variable var)` Set the path as a binding of the given variable.
`void` | `appendIndex(Select sel, ExpContext ctx, ExpState state, SQLBuffer sql)` Append the SQL checking the index of this value.
`void` | `appendIsEmpty(Select sel, ExpContext ctx, ExpState state, SQLBuffer sql)` Append the SQL testing whether this value is empty to the given buffer.
`void` | `appendIsNotEmpty(Select sel, ExpContext ctx, ExpState state, SQLBuffer sql)` Append the SQL testing whether this value is not empty to the given buffer.
`void` | `appendIsNotNull(Select sel, ExpContext ctx, ExpState state, SQLBuffer sql)` Append the SQL testing whether this value is not null to the given buffer.
`void` | `appendIsNull(Select sel, ExpContext ctx, ExpState state, SQLBuffer sql)` Append the SQL testing whether this value is null to the given buffer.
`void` | `appendSize(Select sel, ExpContext ctx, ExpState state, SQLBuffer sql)` Append the SQL checking the size of this value.
`void` | `appendTo(Select sel, ExpContext ctx, ExpState state, SQLBuffer sql)`
`void` | `appendTo(Select sel, ExpContext ctx, ExpState state, SQLBuffer sql, int index)` Append the `index`th SQL element to the given buffer.
`void` | `appendTo(Select sel, ExpState state, SQLBuffer sql, Column col)`
`void` | `appendType(Select sel, ExpContext ctx, ExpState state, SQLBuffer sql)` Append the SQL checking the type of this value.
`void` | `calculateValue(Select sel, ExpContext ctx, ExpState state, Val other, ExpState otherState)` Calculate and cache the SQL for this value.
`boolean` | `equals(Object other)`
`protected Object` | `eval(Object candidate, Object orig, StoreContext ctx, Object[] params)` Return this value for the given candidate.
`void` | `get(FieldMetaData field, boolean nullTraversal)` Traverse into the given field of the current object, and update the current object to that field value.
`void` | `get(FieldMetaData fmd, XMLMetaData meta)` Traverse into the given field that maps to xml column, and update the current object to that field value.
`void` | `get(XMLMetaData meta, String name)` Traverse into the gevin xpath name of the current object, and update the current object to that xpath field.
`ClassMapping` | `getClassMapping(ExpState state)`
`Column[]` | `getColumns(ExpState state)`
`FieldMapping` | `getFieldMapping(ExpState state)`
`int` | `getId()`
`void` | `getKey()`
`ClassMetaData` | `getMetaData()` Return any associated persistent type.
`String` | `getPCPathString()`
`String` | `getSchemaAlias()`
`Class` | `getType()` Return the expected type for this value, or `Object` if the type is unknown.
`XMLMetaData` | `getXmlMapping()` Return the current XPath's xmlmapping metadata.
`String` | `getXPath()`
`void` | `groupBy(Select sel, ExpContext ctx, ExpState state)` Group by this value.
`int` | `hashCode()`
`ExpState` | `initialize(Select sel, ExpContext ctx, int flags)` Initialize the value.
`boolean` | `isKey()`
`boolean` | `isSubqueryPath()`
`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.
`boolean` | `isVariablePath()` Return whether this is a path involving a variable.
`boolean` | `isXPath()` Return true if this value is an XML Path.
`FieldMetaData` | `last()` Return the last field in the path, or null if the path does not not contain a final field.
`int` | `length(Select sel, ExpContext ctx, ExpState state)` Return the number of SQL elements in this value.
`Object` | `load(ExpContext ctx, ExpState state, Result res)` Load the data for this value.
`(package private) Object` | `load(ExpContext ctx, ExpState state, Result res, boolean pks)`
`void` | `orderBy(Select sel, ExpContext ctx, ExpState state, boolean asc)` Order by this value.
`void` | `select(Select sel, ExpContext ctx, ExpState state, boolean pks)` Select the data for this value.
`void` | `selectColumns(Select sel, ExpContext ctx, ExpState state, boolean pks)` Select just the columns for this value.
`void` | `setContainsId(String id)` If this path is part of a contains clause, then alias it to the proper contains id before initialization.
`void` | `setImplicitType(Class type)` Set the implicit type of the value, based on how it is used in the filter.
`void` | `setMetaData(ClassMetaData meta)` Associate a persistent type with this value.
`void` | `setSchemaAlias(String schemaAlias)` Set the schema alias (the identification variable) this path is begin with.
`void` | `setSubqueryContext(Context context, String correlationVar)`
`Object` | `toDataStoreValue(Select sel, ExpContext ctx, ExpState state, Object val)` Return the datastore value of the given object in the context of this value.
`void` | `verifyIndexedField()`

Methods inherited from class org.apache.openjpa.kernel.exps.CandidatePath
`castTo, getCandidateType, getCorrelationVar`

Methods inherited from class org.apache.openjpa.kernel.exps.Val
`acceptVisit, eval, evaluate, evaluate, getAlias, getName, getPath, getSelectAs, isAggregate, setAlias`

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

Methods inherited from interface org.apache.openjpa.kernel.exps.Path
`getCorrelationVar`

Methods inherited from interface org.apache.openjpa.jdbc.kernel.exps.Val
`getSelectAs`

Methods inherited from interface org.apache.openjpa.kernel.exps.Value
`acceptVisit, getAlias, getName, getPath, isAggregate, setAlias`

Field Detail

### TRUE

    protected static final String TRUE

See Also:
  Constant Field Values

### FALSE

    protected static final String FALSE

See Also:
  Constant Field Values

Constructor Detail

### PCPath

    public PCPath(ClassMapping type)

  Return a path starting with the 'this' ptr.

### PCPath

    public PCPath(ClassMapping candidate,
                  Variable var)

  Return a path starting from the given variable.

### PCPath

    public PCPath(SubQ sub)

  Return a path starting from the given subquery.

Method Detail

### setSchemaAlias

    public void setSchemaAlias(String schemaAlias)

  Description copied from interface: `Path`
  Set the schema alias (the identification variable) this path is begin with.

  Specified by:
    `setSchemaAlias` in interface `Path`
  Overrides:
    `setSchemaAlias` in class `CandidatePath`

### getSchemaAlias

    public String getSchemaAlias()

  Specified by:
    `getSchemaAlias` in interface `Path`
  Overrides:
    `getSchemaAlias` in class `CandidatePath`

### setSubqueryContext

    public void setSubqueryContext(Context context,
                                   String correlationVar)

  Specified by:
    `setSubqueryContext` in interface `Path`
  Overrides:
    `setSubqueryContext` in class `CandidatePath`

### addVariableAction

    public void addVariableAction(Variable var)

  Set the path as a binding of the given variable.

### 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)".

### isVariablePath

    public boolean isVariablePath()

  Return whether this is a path involving a variable.

### setContainsId

    public void setContainsId(String id)

  If this path is part of a contains clause, then alias it to the proper contains id before initialization.

### getMetaData

    public ClassMetaData getMetaData()

  Description copied from interface: `Value`
  Return any associated persistent type.

  Specified by:
    `getMetaData` in interface `Value`
  Overrides:
    `getMetaData` in class `Val`

### setMetaData

    public void setMetaData(ClassMetaData meta)

  Description copied from interface: `Value`
  Associate a persistent type with this value.

  Specified by:
    `setMetaData` in interface `Value`
  Overrides:
    `setMetaData` in class `Val`

### isKey

    public boolean isKey()

### isXPath

    public boolean isXPath()

  Description copied from interface: `Value`
  Return true if this value is an XML Path.

  Specified by:
    `isXPath` in interface `Value`
  Overrides:
    `isXPath` in class `Val`

### getXPath

    public String getXPath()

### getPCPathString

    public String getPCPathString()

### getClassMapping

    public ClassMapping getClassMapping(ExpState state)

### getFieldMapping

    public FieldMapping getFieldMapping(ExpState state)

### getColumns

    public Column[] getColumns(ExpState state)

### isVariable

    public boolean isVariable()

  Description copied from interface: `Value`
  Return true if this value is a variable.

  Specified by:
    `isVariable` in interface `Value`
  Overrides:
    `isVariable` in class `Val`

### get

    public void get(FieldMetaData field,
                    boolean nullTraversal)

  Description copied from class: `CandidatePath`
  Traverse into the given field of the current object, and update the current object to that field value.

  Specified by:
    `get` in interface `Path`
  Overrides:
    `get` in class `CandidatePath`
    `nullTraversal` - if true, allow traversal through a null field

### get

    public void get(FieldMetaData fmd,
                    XMLMetaData meta)

  Description copied from interface: `Path`
  Traverse into the given field that maps to xml column, and update the current object to that field value.

  Specified by:
    `get` in interface `Path`
  Overrides:
    `get` in class `CandidatePath`
  Parameters:
    `fmd` - field maps to xml column
    `meta` - associated xml mapping

### get

    public void get(XMLMetaData meta,
                    String name)

  Description copied from interface: `Path`
  Traverse into the gevin xpath name of the current object, and update the current object to that xpath field.

  Specified by:
    `get` in interface `Path`
  Overrides:
    `get` in class `CandidatePath`

### getXmlMapping

    public XMLMetaData getXmlMapping()

  Description copied from interface: `Path`
  Return the current XPath's xmlmapping metadata.

  Specified by:
    `getXmlMapping` in interface `Path`
  Overrides:
    `getXmlMapping` in class `CandidatePath`
  Returns:
    Return xmlmapping

### getKey

    public void getKey()

  Specified by:
    `getKey` in interface `JDBCPath`

### last

    public FieldMetaData last()

  Description copied from interface: `Path`
  Return the last field in the path, or null if the path does not not contain a final field.

  Specified by:
    `last` in interface `Path`
  Overrides:
    `last` in class `CandidatePath`

### getType

    public Class getType()

  Description copied from interface: `Value`
  Return the expected type for this value, or `Object` if the type is unknown.

  Specified by:
    `getType` in interface `Value`
  Overrides:
    `getType` in class `CandidatePath`

### setImplicitType

    public void setImplicitType(Class type)

  Description copied from interface: `Value`
  Set the implicit type of the value, based on how it is used in the filter. This method is only called on values who return `Object` from `Value.getType()`.

  Specified by:
    `setImplicitType` in interface `Value`
  Overrides:
    `setImplicitType` in class `CandidatePath`

### initialize

    public ExpState initialize(Select sel,
                               ExpContext ctx,
                               int flags)

  Description copied from interface: `Val`
  Initialize the value. This method should recursively initialize any sub-values.

  Specified by:
    `initialize` in interface `Val`

### eval

    protected Object eval(Object candidate,
                          Object orig,
                          StoreContext ctx,
                          Object[] params)

  Description copied from class: `Val`
  Return this value for the given candidate.

  Overrides:
    `eval` in class `CandidatePath`

### toDataStoreValue

    public Object toDataStoreValue(Select sel,
                                   ExpContext ctx,
                                   ExpState state,
                                   Object val)

  Description copied from interface: `Val`
  Return the datastore value of the given object in the context of this value.

  Specified by:
    `toDataStoreValue` in interface `Val`

### select

    public void select(Select sel,
                       ExpContext ctx,
                       ExpState state,
                       boolean pks)

  Description copied from interface: `Val`
  Select the data for this value.

  Specified by:
    `select` in interface `Val`

### selectColumns

    public void selectColumns(Select sel,
                              ExpContext ctx,
                              ExpState state,
                              boolean pks)

  Description copied from interface: `Val`
  Select just the columns for this value.

  Specified by:
    `selectColumns` in interface `Val`

### groupBy

    public void groupBy(Select sel,
                        ExpContext ctx,
                        ExpState state)

  Description copied from interface: `Val`
  Group by this value.

  Specified by:
    `groupBy` in interface `Val`

### orderBy

    public void orderBy(Select sel,
                        ExpContext ctx,
                        ExpState state,
                        boolean asc)

  Description copied from interface: `Val`
  Order by this value.

  Specified by:
    `orderBy` in interface `Val`

### load

    public Object load(ExpContext ctx,
                       ExpState state,
                       Result res)
                throws SQLException

  Description copied from interface: `Val`
  Load the data for this value.

  Specified by:
    `load` in interface `Val`
  Throws:
    `SQLException`

### load

    Object load(ExpContext ctx,
                ExpState state,
                Result res,
                boolean pks)
          throws SQLException

  Throws:
    `SQLException`

### calculateValue

    public void calculateValue(Select sel,
                               ExpContext ctx,
                               ExpState state,
                               Val other,
                               ExpState otherState)

  Description copied from interface: `Val`
  Calculate and cache the SQL for this value. This method is called before `length` or any `append` methods.

  Specified by:
    `calculateValue` in interface `Val`
    `other` - the value being compared to, or null if not a comparison

### verifyIndexedField

    public void verifyIndexedField()

### length

    public int length(Select sel,
                      ExpContext ctx,
                      ExpState state)

  Description copied from interface: `Val`
  Return the number of SQL elements in this value.

  Specified by:
    `length` in interface `Val`

### appendTo

    public void appendTo(Select sel,
                         ExpContext ctx,
                         ExpState state,
                         SQLBuffer sql)

### appendTo

    public void appendTo(Select sel,
                         ExpContext ctx,
                         ExpState state,
                         SQLBuffer sql,
                         int index)

  Description copied from interface: `Val`
  Append the `index`th SQL element to the given buffer.

  Specified by:
    `appendTo` in interface `Val`

### appendTo

    public void appendTo(Select sel,
                         ExpState state,
                         SQLBuffer sql,
                         Column col)

### appendIsEmpty

    public void appendIsEmpty(Select sel,
                              ExpContext ctx,
                              ExpState state,
                              SQLBuffer sql)

  Description copied from interface: `Val`
  Append the SQL testing whether this value is empty to the given buffer.

  Specified by:
    `appendIsEmpty` in interface `Val`

### appendIsNotEmpty

    public void appendIsNotEmpty(Select sel,
                                 ExpContext ctx,
                                 ExpState state,
                                 SQLBuffer sql)

  Description copied from interface: `Val`
  Append the SQL testing whether this value is not empty to the given buffer.

  Specified by:
    `appendIsNotEmpty` in interface `Val`

### appendIndex

    public void appendIndex(Select sel,
                            ExpContext ctx,
                            ExpState state,
                            SQLBuffer sql)

  Description copied from interface: `Val`
  Append the SQL checking the index of this value.

  Specified by:
    `appendIndex` in interface `Val`

### appendType

    public void appendType(Select sel,
                           ExpContext ctx,
                           ExpState state,
                           SQLBuffer sql)

  Description copied from interface: `Val`
  Append the SQL checking the type of this value.

  Specified by:
    `appendType` in interface `Val`

### appendSize

    public void appendSize(Select sel,
                           ExpContext ctx,
                           ExpState state,
                           SQLBuffer sql)

  Description copied from interface: `Val`
  Append the SQL checking the size of this value.

  Specified by:
    `appendSize` in interface `Val`

### appendIsNull

    public void appendIsNull(Select sel,
                             ExpContext ctx,
                             ExpState state,
                             SQLBuffer sql)

  Description copied from interface: `Val`
  Append the SQL testing whether this value is null to the given buffer.

  Specified by:
    `appendIsNull` in interface `Val`

### appendIsNotNull

    public void appendIsNotNull(Select sel,
                                ExpContext ctx,
                                ExpState state,
                                SQLBuffer sql)

  Description copied from interface: `Val`
  Append the SQL testing whether this value is not null to the given buffer.

  Specified by:
    `appendIsNotNull` in interface `Val`

### isSubqueryPath

    public boolean isSubqueryPath()

### hashCode

    public int hashCode()

  Overrides:
    `hashCode` in class `CandidatePath`

### equals

    public boolean equals(Object other)

  Overrides:
    `equals` in class `CandidatePath`

### getId

    public int getId()

  Specified by:
    `getId` in interface `Val`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2006-2013 Apache Software Foundation. All Rights Reserved.