de.mguennewig.pobjects
Class SQLEvalContext

java.lang.Object
  extended by de.mguennewig.pobjects.EvalContext
      extended by de.mguennewig.pobjects.SQLEvalContext
Direct Known Subclasses:
MySQLContainer.MySQLEvalContext, SQLiteContainer.SQLiteEvalContext

public class SQLEvalContext
extends EvalContext

Internal class to convert the internal term expressions into SQL statements.

Author:
Michael Günnewig
See Also:
Query, Term

Field Summary
 
Fields inherited from class de.mguennewig.pobjects.EvalContext
TABLE_PREFIX
 
Constructor Summary
SQLEvalContext(int numColumns, int dbCapabilities, java.lang.String schema)
          Creates a new evaluation context.
 
Method Summary
 void addJoin(Predicate join)
           
 void addOrderBy(de.mguennewig.pobjects.Query.OrderByExpr orderBy)
          
 void addOrderBy(java.lang.String orderBy)
           
 void addResult(TableRef tr, Column col)
          
 void addResultPClassId(TableRef t, Column col)
           
 TableRef addTableExpr(TableExpr table)
          
 void addWhereConj(java.lang.String expr)
           
 void addWhereConj(Term term)
          
 TableRef deref(TableRef tr, ClassDecl te, Column c, boolean join)
          
 java.util.List<java.lang.String> getOrderBy()
          
 java.util.List<java.lang.String> getWhereList()
           
 java.lang.String restoreState(EvalState s, Term conj)
          
 void setForCount(boolean forCount)
          
 java.lang.String toSql()
           
 java.lang.String toString()
          
 
Methods inherited from class de.mguennewig.pobjects.EvalContext
addTableExprColumns, deref, deref, getCommand, getForCount, getLimit, getNumColumns, getOffset, getSchema, getSqlType, getSupportedJoins, getTableExpr, isDistinct, requiresOuterJoin, resolveSelector, setCommand, setDistinct, setLimit, setOffset, storeState, supportsBoolean, supportsInherits, supportsLimitOffset, supportsOracleJoin, supportsSQL99Join
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

SQLEvalContext

public SQLEvalContext(int numColumns,
                      int dbCapabilities,
                      java.lang.String schema)
Creates a new evaluation context.

Method Detail

getWhereList

public final java.util.List<java.lang.String> getWhereList()
Specified by:
getWhereList in class EvalContext
See Also:
Container.getCapabilities()

addOrderBy

public void addOrderBy(de.mguennewig.pobjects.Query.OrderByExpr orderBy)

Specified by:
addOrderBy in class EvalContext

addOrderBy

public final void addOrderBy(java.lang.String orderBy)

getOrderBy

public final java.util.List<java.lang.String> getOrderBy()

Specified by:
getOrderBy in class EvalContext

addResult

public final void addResult(TableRef tr,
                            Column col)

Specified by:
addResult in class EvalContext

addResultPClassId

public void addResultPClassId(TableRef t,
                              Column col)

addWhereConj

public void addWhereConj(Term term)

Specified by:
addWhereConj in class EvalContext

addWhereConj

public final void addWhereConj(java.lang.String expr)

addJoin

public void addJoin(Predicate join)

restoreState

public java.lang.String restoreState(EvalState s,
                                     Term conj)

Specified by:
restoreState in class EvalContext

setForCount

public void setForCount(boolean forCount)

Overrides:
setForCount in class EvalContext

deref

public TableRef deref(TableRef tr,
                      ClassDecl te,
                      Column c,
                      boolean join)

Specified by:
deref in class EvalContext

addTableExpr

public TableRef addTableExpr(TableExpr table)

Overrides:
addTableExpr in class EvalContext

toString

public java.lang.String toString()

Overrides:
toString in class java.lang.Object

toSql

public java.lang.String toSql()