Class GetColumn
java.lang.Object
org.apache.openjpa.jdbc.kernel.exps.GetColumn
- All Implemented Interfaces:
Serializable
,JDBCFilterListener
,FilterListener
Returns the SQL alias of the named column for use in a query. Note that
to retrieve columns in the table of the candidate object, you must
explicitly qualify the extension with
this
, as demonstrated
in the second example below.
Examples: "company.address.ext:getColumn (\"ID\") == 5"
"this.ext:getColumn (\"CLS\") == \"org.apache.openjpa.example.Person\""
- See Also:
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
appendTo
(SQLBuffer buf, FilterValue target, FilterValue[] args, ClassMapping type, JDBCStore store) Append the SQL for this expression or value.evaluate
(Object target, Class targetClass, Object[] args, Class[] argClasses, Object candidate, StoreContext ctx) Evaluate the given expression.boolean
Return true if this extension expects arguments to act on.boolean
Return true if this extension expects a target to act on.getTag()
Return the tag that this extension listens for.Return the expected type of the result of this listener.
-
Field Details
-
TAG
- See Also:
-
-
Constructor Details
-
GetColumn
public GetColumn()
-
-
Method Details
-
getTag
Description copied from interface:FilterListener
Return the tag that this extension listens for.- Specified by:
getTag
in interfaceFilterListener
-
expectsArguments
public boolean expectsArguments()Description copied from interface:FilterListener
Return true if this extension expects arguments to act on. Some extensions may not need arguments; for example, an extension to switch a string to upper case might be of the form:field.ext:toUpperCase ()
.- Specified by:
expectsArguments
in interfaceFilterListener
-
expectsTarget
public boolean expectsTarget()Description copied from interface:FilterListener
Return true if this extension expects a target to act on. Some extensions act on a field or object value; others stand alone.field.ext:toUpperCase ()
acts on the targetfield
but has no arguments, while another possible form,ext:toUpperCase (field)
has no target but does have an argument.- Specified by:
expectsTarget
in interfaceFilterListener
-
evaluate
public Object evaluate(Object target, Class targetClass, Object[] args, Class[] argClasses, Object candidate, StoreContext ctx) Description copied from interface:FilterListener
Evaluate the given expression. This method is used when evaluating in-memory expressions. The method used when evaluating data store expressions will change depending on the data store in use.- Specified by:
evaluate
in interfaceFilterListener
- Parameters:
target
- the target object / field value to act on; will be null if this extension does not expect a targettargetClass
- the expected class of the target; given in case the target evaluates to null and typing is neededargs
- the values of the arguments given in the filter; will be null if this extension does not expect an argumentargClasses
- the expected classes of the arguments; given in case an argument evaluates to null and typing is neededcandidate
- the candidate object being evaluatedctx
- the persistence context- Returns:
- the value of the extension for this candidate; if
this extension is an expression, this method should
return
Boolean.TRUE
orBoolean.FALSE
-
appendTo
public void appendTo(SQLBuffer buf, FilterValue target, FilterValue[] args, ClassMapping type, JDBCStore store) Description copied from interface:JDBCFilterListener
Append the SQL for this expression or value.- Specified by:
appendTo
in interfaceJDBCFilterListener
- Parameters:
buf
- the SQL buffer to append totarget
- the target to act on, or null if the listener doesn't expect a targetargs
- the values of the arguments given in the filter, or null if this listener doesn't expect argumentstype
- the class mapping for the query's candidate classstore
- the store that owns the query
-
getType
Description copied from interface:FilterListener
Return the expected type of the result of this listener.- Specified by:
getType
in interfaceFilterListener
- Parameters:
targetClass
- the expected class of the target, or null if no targetargClasses
- the expected classes of the arguments, or null if no arguments
-