java.lang.Object
org.apache.openjpa.jdbc.kernel.exps.Param
All Implemented Interfaces:
Serializable, Val, Constant, Parameter, Value

public class Param extends Object implements Parameter
A parameter in a filter.
Author:
Abe White
See Also:
  • Field Details

  • Constructor Details

    • Param

      public Param(Object key, Class type)
      Constructor. Supply parameter name and type.
  • Method Details

    • getParameterKey

      public Object getParameterKey()
      Description copied from interface: Parameter
      Returns the key of the parameter.
      Specified by:
      getParameterKey in interface Parameter
    • 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
    • getIndex

      public int getIndex()
    • setIndex

      public void setIndex(int idx)
      Description copied from interface: Parameter
      Set the index of this parameter.
      Specified by:
      setIndex in interface Parameter
    • getValueMetaData

      public ClassMapping getValueMetaData(ExpContext ctx)
    • getValue

      public Object getValue(Object[] params)
      Description copied from interface: Constant
      Return the value for this constant given the specified parameters.
      Specified by:
      getValue in interface Constant
    • getValue

      public Object getValue(ExpContext ctx, ExpState state)
      Return the value of this constant. May be more robust than the parameters-only form.
    • getSQLValue

      public Object getSQLValue(Select sel, ExpContext ctx, ExpState state)
      Return the SQL value of this constant.
    • 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
    • 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
    • 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
    • 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
    • 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
    • isSQLValueNull

      public boolean isSQLValueNull(Select sel, ExpContext ctx, ExpState state)
      Return true if this constant's SQL value is equivalent to NULL.
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • acceptVisit

      public void acceptVisit(ExpressionVisitor visitor)
      Description copied from interface: Value
      Accept a visit from a tree visitor.
      Specified by:
      acceptVisit in interface Value
    • 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