org.apache.openjpa.jdbc.sql
Class SelectImpl.SelectResult

java.lang.Object
  extended by org.apache.openjpa.jdbc.sql.AbstractResult
      extended by org.apache.openjpa.jdbc.sql.ResultSetResult
          extended by org.apache.openjpa.jdbc.sql.SelectImpl.SelectResult
All Implemented Interfaces:
Joins, PathJoins, Result, Closeable
Enclosing class:
SelectImpl

public static class SelectImpl.SelectResult
extends ResultSetResult
implements PathJoins

A Result implementation wrapped around this select.


Constructor Summary
SelectImpl.SelectResult(Connection conn, Statement stmnt, ResultSet rs, DBDictionary dict)
          Constructor.
 
Method Summary
protected  boolean absoluteInternal(int row)
          Throws an exception by default.
protected  boolean containsAllInternal(Object[] objs, Joins joins)
          Return whether this result contains data for all the given ids or columns.
protected  boolean containsInternal(Object obj, Joins joins)
          Return whether this result contains data for the given id or column.
 Joins crossJoin(Table localTable, Table foreignTable)
          Perform a cross join on the given tables.
protected  int findObject(Object obj, Joins joins)
          Return the 1-based result set index for the given column or id, or a non-positive number if the column is not contained in this result.
 String getCorrelatedVariable()
          Return correlated variable name
 Object getEager(FieldMapping key)
          The eager result for the given key, or null if none.
 String getPathStr()
           
 SelectImpl getSelect()
          Select for this result.
 boolean isDirty()
          Return true if this instance has a path, any joins, or a variable.
 boolean isEmpty()
          Whether we have any joins.
 boolean isOuter()
          Whether this joins path results in outer joins.
 Joins join(ForeignKey fk, boolean inverse, boolean toMany)
          Join the columns of the given foreign key.
 int joinCount()
          Return the maximum number of joins contained in this instance at any time.
 Joins joinRelation(String name, ForeignKey fk, ClassMapping target, int subs, boolean inverse, boolean toMany)
          Join the columns of the given foreign key, which represents a relation via the given field name.
 JoinSet joins()
          Return the set of Join elements, or null if none.
 Object load(ClassMapping mapping, JDBCStore store, JDBCFetchConfiguration fetch, Joins joins)
          Load a pc object using the given store manager.
 void moveJoinsToParent()
          Move joins that belong to subquery's parent
 Joins newJoins()
          Returns a no-op joins object by default.
protected  boolean nextInternal()
          Advance this row.
 void nullJoins()
          Null the set of Join elements.
 Joins outerJoin(ForeignKey fk, boolean inverse, boolean toMany)
          Join the columns of the given foreign key.
 Joins outerJoinRelation(String name, ForeignKey fk, ClassMapping target, int subs, boolean inverse, boolean toMany)
          Join the columns of the given foreign key, which represents a relation via the given field name.
 StringBuilder path()
          Return the relation path traversed by these joins, or null if none.
 void pushBack()
          Push back the last result.
 void putEager(FieldMapping key, Object res)
          The eager result for the given key, or null if none.
 Joins setCorrelatedVariable(String var)
          Set the correlated variable name being traversed into with the next join.
 Joins setJoinContext(Context ctx)
          Set subquery context when traversing into the next join is in transition from parent context to subquery.
 PathJoins setOuter(boolean outer)
          Mark this as an outer joins set.
 void setSelect(SelectImpl sel)
          Select for this result.
 Joins setSubselect(String alias)
          Set the subquery alias.
 Joins setVariable(String var)
          Set the variable name being traversed into with the next join.
 
Methods inherited from class org.apache.openjpa.jdbc.sql.ResultSetResult
close, getArrayInternal, getAsciiStreamInternal, getBigDecimalInternal, getBigIntegerInternal, getBinaryStreamInternal, getBlobInternal, getBooleanInternal, getByteInternal, getBytesInternal, getCalendarInternal, getCharacterStreamInternal, getCharInternal, getClobInternal, getCloseConnection, getDateInternal, getDateInternal, getDBDictionary, getDoubleInternal, getFloatInternal, getIntInternal, getLOBStreamInternal, getLocaleInternal, getLongInternal, getNumberInternal, getObjectInternal, getRefInternal, getResultSet, getShortInternal, getSQLObjectInternal, getStatement, getStore, getStreamInternal, getStringInternal, getTimeInternal, getTimestampInternal, setCloseConnection, setStore, size, supportsRandomAccess, translate, wasNull
 
Methods inherited from class org.apache.openjpa.jdbc.sql.AbstractResult
absolute, checkNull, closeEagerMap, contains, contains, containsAll, containsAll, endDataRequest, getArray, getArray, getAsciiStream, getAsciiStream, getBaseMapping, getBigDecimal, getBigDecimal, getBigInteger, getBigInteger, getBinaryStream, getBinaryStream, getBlob, getBlob, getBoolean, getBoolean, getByte, getByte, getBytes, getBytes, getCalendar, getCalendar, getChar, getChar, getCharacterStream, getCharacterStream, getClob, getClob, getDate, getDate, getDate, getDate, getDouble, getDouble, getEagerMap, getFloat, getFloat, getInt, getInt, getLOBStream, getLocale, getLocale, getLong, getLong, getMappedByFieldMapping, getMappedByValue, getNumber, getNumber, getObject, getObject, getRef, getRef, getShort, getShort, getSQLObject, getSQLObject, getString, getString, getTime, getTime, getTimestamp, getTimestamp, indexOf, isLocking, load, next, setBaseMapping, setEagerMap, setIndexOf, setLocking, setMappedByFieldMapping, setMappedByValue, startDataRequest
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SelectImpl.SelectResult

public SelectImpl.SelectResult(Connection conn,
                               Statement stmnt,
                               ResultSet rs,
                               DBDictionary dict)
Constructor.

Method Detail

getSelect

public SelectImpl getSelect()
Select for this result.

Specified by:
getSelect in interface PathJoins
Returns:

setSelect

public void setSelect(SelectImpl sel)
Select for this result.


getEager

public Object getEager(FieldMapping key)
Description copied from interface: Result
The eager result for the given key, or null if none.

Specified by:
getEager in interface Result
Overrides:
getEager in class AbstractResult

putEager

public void putEager(FieldMapping key,
                     Object res)
Description copied from interface: Result
The eager result for the given key, or null if none.

Specified by:
putEager in interface Result
Overrides:
putEager in class AbstractResult

load

public Object load(ClassMapping mapping,
                   JDBCStore store,
                   JDBCFetchConfiguration fetch,
                   Joins joins)
            throws SQLException
Description copied from interface: Result
Load a pc object using the given store manager.

Specified by:
load in interface Result
Overrides:
load in class AbstractResult
Throws:
SQLException

newJoins

public Joins newJoins()
Description copied from class: AbstractResult
Returns a no-op joins object by default.

Specified by:
newJoins in interface Result
Overrides:
newJoins in class AbstractResult

containsInternal

protected boolean containsInternal(Object obj,
                                   Joins joins)
Description copied from class: AbstractResult
Return whether this result contains data for the given id or column. The id or column has not beed passed through AbstractResult.translate(java.lang.Object, org.apache.openjpa.jdbc.sql.Joins).

Overrides:
containsInternal in class ResultSetResult

containsAllInternal

protected boolean containsAllInternal(Object[] objs,
                                      Joins joins)
                               throws SQLException
Description copied from class: AbstractResult
Return whether this result contains data for all the given ids or columns. The ids or columns have not been passed through AbstractResult.translate(java.lang.Object, org.apache.openjpa.jdbc.sql.Joins). Delegates to AbstractResult.containsInternal(java.lang.Object, org.apache.openjpa.jdbc.sql.Joins) by default.

Overrides:
containsAllInternal in class AbstractResult
Throws:
SQLException

pushBack

public void pushBack()
              throws SQLException
Description copied from interface: Result
Push back the last result. In other words, just ignore the next call to Result.next(). After the first time this method is called, additional calls before a call to Result.next() or Result.absolute(int) should have no further affect.

Specified by:
pushBack in interface Result
Overrides:
pushBack in class AbstractResult
Throws:
SQLException

absoluteInternal

protected boolean absoluteInternal(int row)
                            throws SQLException
Description copied from class: AbstractResult
Throws an exception by default.

Overrides:
absoluteInternal in class ResultSetResult
Throws:
SQLException

nextInternal

protected boolean nextInternal()
                        throws SQLException
Description copied from class: AbstractResult
Advance this row.

Overrides:
nextInternal in class ResultSetResult
Throws:
SQLException

findObject

protected int findObject(Object obj,
                         Joins joins)
                  throws SQLException
Description copied from class: ResultSetResult
Return the 1-based result set index for the given column or id, or a non-positive number if the column is not contained in this result.

Overrides:
findObject in class ResultSetResult
Throws:
SQLException

isOuter

public boolean isOuter()
Description copied from interface: Joins
Whether this joins path results in outer joins.

Specified by:
isOuter in interface Joins

setOuter

public PathJoins setOuter(boolean outer)
Description copied from interface: PathJoins
Mark this as an outer joins set.

Specified by:
setOuter in interface PathJoins

isDirty

public boolean isDirty()
Description copied from interface: PathJoins
Return true if this instance has a path, any joins, or a variable.

Specified by:
isDirty in interface PathJoins

path

public StringBuilder path()
Description copied from interface: PathJoins
Return the relation path traversed by these joins, or null if none.

Specified by:
path in interface PathJoins

getPathStr

public String getPathStr()
Specified by:
getPathStr in interface PathJoins

joins

public JoinSet joins()
Description copied from interface: PathJoins
Return the set of Join elements, or null if none.

Specified by:
joins in interface PathJoins

joinCount

public int joinCount()
Description copied from interface: PathJoins
Return the maximum number of joins contained in this instance at any time.

Specified by:
joinCount in interface PathJoins

nullJoins

public void nullJoins()
Description copied from interface: PathJoins
Null the set of Join elements.

Specified by:
nullJoins in interface PathJoins

isEmpty

public boolean isEmpty()
Description copied from interface: Joins
Whether we have any joins.

Specified by:
isEmpty in interface Joins

crossJoin

public Joins crossJoin(Table localTable,
                       Table foreignTable)
Description copied from interface: Joins
Perform a cross join on the given tables.

Specified by:
crossJoin in interface Joins

join

public Joins join(ForeignKey fk,
                  boolean inverse,
                  boolean toMany)
Description copied from interface: Joins
Join the columns of the given foreign key.

Specified by:
join in interface Joins

outerJoin

public Joins outerJoin(ForeignKey fk,
                       boolean inverse,
                       boolean toMany)
Description copied from interface: Joins
Join the columns of the given foreign key.

Specified by:
outerJoin in interface Joins

joinRelation

public Joins joinRelation(String name,
                          ForeignKey fk,
                          ClassMapping target,
                          int subs,
                          boolean inverse,
                          boolean toMany)
Description copied from interface: Joins
Join the columns of the given foreign key, which represents a relation via the given field name.

Specified by:
joinRelation in interface Joins

outerJoinRelation

public Joins outerJoinRelation(String name,
                               ForeignKey fk,
                               ClassMapping target,
                               int subs,
                               boolean inverse,
                               boolean toMany)
Description copied from interface: Joins
Join the columns of the given foreign key, which represents a relation via the given field name.

Specified by:
outerJoinRelation in interface Joins

setVariable

public Joins setVariable(String var)
Description copied from interface: Joins
Set the variable name being traversed into with the next join.

Specified by:
setVariable in interface Joins

setSubselect

public Joins setSubselect(String alias)
Description copied from interface: Joins
Set the subquery alias.

Specified by:
setSubselect in interface Joins

setCorrelatedVariable

public Joins setCorrelatedVariable(String var)
Description copied from interface: Joins
Set the correlated variable name being traversed into with the next join.

Specified by:
setCorrelatedVariable in interface Joins

setJoinContext

public Joins setJoinContext(Context ctx)
Description copied from interface: Joins
Set subquery context when traversing into the next join is in transition from parent context to subquery.

Specified by:
setJoinContext in interface Joins

getCorrelatedVariable

public String getCorrelatedVariable()
Description copied from interface: Joins
Return correlated variable name

Specified by:
getCorrelatedVariable in interface Joins
Returns:

moveJoinsToParent

public void moveJoinsToParent()
Description copied from interface: Joins
Move joins that belong to subquery's parent

Specified by:
moveJoinsToParent in interface Joins


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