java.lang.Object
org.apache.openjpa.jdbc.kernel.exps.SubQ
All Implemented Interfaces:
Serializable, Val, Subquery, Value

public class SubQ extends Object implements Subquery
A subquery.
Author:
Abe White
See Also:
  • Field Details

  • Constructor Details

    • SubQ

      public SubQ(ClassMapping candidate, boolean subs, String alias)
      Constructor. Supply candidate, whether subclasses are included in the query, and the query alias.
  • Method Details

    • getSelect

      public Object getSelect()
      Specified by:
      getSelect in interface Subquery
    • getCandidate

      public ClassMapping getCandidate()
      Return the subquery candidate type.
    • getSubs

      public boolean getSubs()
    • setSubqAlias

      public void setSubqAlias(String subqAlias)
      Specified by:
      setSubqAlias in interface Subquery
    • getSubqAlias

      public String getSubqAlias()
      Specified by:
      getSubqAlias in interface Subquery
    • 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
    • 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
    • getMetaData

      public ClassMetaData getMetaData()
      Description copied from interface: Value
      Return any associated persistent type.
      Specified by:
      getMetaData in interface Value
    • setMetaData

      public void setMetaData(ClassMetaData meta)
      Description copied from interface: Value
      Associate a persistent type with this value.
      Specified by:
      setMetaData in interface Value
    • getCandidateAlias

      public String getCandidateAlias()
      Description copied from interface: Subquery
      Return the candidate alias for this subquery.
      Specified by:
      getCandidateAlias in interface Subquery
    • setQueryExpressions

      public void setQueryExpressions(QueryExpressions query)
      Description copied from interface: Subquery
      Set the parsed subquery.
      Specified by:
      setQueryExpressions in interface Subquery
    • 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
    • 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
    • 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
    • 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, int index)
      Description copied from interface: Val
      Append the indexth SQL element to the given buffer.
      Specified by:
      appendTo in interface Val
    • 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
    • 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
    • acceptVisit

      public void acceptVisit(ExpressionVisitor visitor)
      Description copied from interface: Value
      Accept a visit from a tree visitor.
      Specified by:
      acceptVisit in interface Value
    • isVariable

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

      public boolean isAggregate()
      Description copied from interface: Value
      Return true if this value is an aggregate.
      Specified by:
      isAggregate in interface Value
    • isXPath

      public boolean isXPath()
      Description copied from interface: Value
      Return true if this value is an XML Path.
      Specified by:
      isXPath in interface Value
    • 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
    • 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
    • getId

      public int getId()
      Specified by:
      getId in interface Val
    • getAlias

      public String getAlias()
      Description copied from interface: Value
      Return select item alias
      Specified by:
      getAlias in interface Value
    • setAlias

      public void setAlias(String alias)
      Description copied from interface: Value
      Set select item alias
      Specified by:
      setAlias in interface Value
    • getSelectAs

      public Value getSelectAs()
      Description copied from interface: Value
      Return 'this' concrete class if alias is set, otherwise null
      Specified by:
      getSelectAs in interface Val
      Specified by:
      getSelectAs in interface Value
    • getPath

      public Path getPath()
      Specified by:
      getPath in interface Value
    • getName

      public String getName()
      Specified by:
      getName in interface Value