org.apache.openjpa.kernel.exps
Class BoundVariable

java.lang.Object
  extended by org.apache.openjpa.kernel.exps.Val
      extended by org.apache.openjpa.kernel.exps.BoundVariable
All Implemented Interfaces:
Serializable, Value

 class BoundVariable
extends Val

Represents a bound variable. Variables are aliased to the collection that is stated to contain them in the query. When the query is evaluated, expressions containing variables will be executed once for every element in the collection.

Author:
Abe White

Constructor Summary
BoundVariable(Class type)
          Constructor.
 
Method Summary
 void castTo(Class type)
          Cast this value to the given type.
protected  Object eval(Object candidate, Object orig, StoreContext ctx, Object[] params)
          Return this value for the given candidate.
 Class getType()
          Return the expected type for this value, or Object if the type is unknown.
 boolean isVariable()
          Return true if this value is a variable.
 void setImplicitType(Class type)
          Set the implicit type of the value, based on how it is used in the filter.
 boolean setValue(Object value)
          Set the value this variable should take for the current iteration.
 
Methods inherited from class org.apache.openjpa.kernel.exps.Val
acceptVisit, eval, evaluate, evaluate, getAlias, getMetaData, getName, getPath, getSelectAs, isAggregate, isXPath, setAlias, setMetaData
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BoundVariable

public BoundVariable(Class type)
Constructor. Provide variable name and type.

Method Detail

setValue

public boolean setValue(Object value)
Set the value this variable should take for the current iteration.

Returns:
false if the type is incompatible with the variable's declared type

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

getType

public Class getType()
Description copied from interface: Value
Return the expected type for this value, or Object if the type is unknown.


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().


castTo

public void castTo(Class type)
Cast this value to the given type.


eval

protected Object eval(Object candidate,
                      Object orig,
                      StoreContext ctx,
                      Object[] params)
Description copied from class: Val
Return this value for the given candidate.

Specified by:
eval in class Val


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