|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.cayenne.exp.Expression
public abstract class Expression
Superclass of Cayenne expressions that defines basic API for expressions use.
Field Summary | |
---|---|
static int |
ADD
|
static int |
ALL
Deprecated. since 1.2 |
static int |
AND
|
static int |
ANY
Deprecated. since 1.2 |
static int |
AVG
Deprecated. since 1.2 |
static int |
BETWEEN
|
static int |
COUNT
Deprecated. since 1.2 |
static int |
DB_PATH
Expression describes a path relative to a DbEntity. |
static int |
DIVIDE
|
static int |
EQUAL_TO
|
static int |
EXISTS
Deprecated. since 1.2 |
static int |
GREATER_THAN
|
static int |
GREATER_THAN_EQUAL_TO
|
static int |
IN
|
static int |
LESS_THAN
|
static int |
LESS_THAN_EQUAL_TO
|
static int |
LIKE
|
static int |
LIKE_IGNORE_CASE
|
static int |
LIST
Interpreted as a comma-separated list of literals. |
static int |
MAX
Deprecated. since 1.2 |
static int |
MIN
Deprecated. since 1.2 |
static int |
MULTIPLY
|
static int |
NEGATIVE
|
static int |
NOT
|
static int |
NOT_BETWEEN
|
static int |
NOT_EQUAL_TO
|
static int |
NOT_IN
|
static int |
NOT_LIKE
|
static int |
NOT_LIKE_IGNORE_CASE
|
static int |
OBJ_PATH
Expression describes a path relative to an ObjEntity. |
static int |
OR
|
static int |
POSITIVE
Deprecated. since 1.2 |
static java.lang.Object |
PRUNED_NODE
A value that a Transformer might return to indicate that a node has to be pruned from the expression during the transformation. |
static int |
RAW_SQL
Deprecated. since 1.2 |
static int |
SOME
Deprecated. since 1.2 |
static int |
SUBQUERY
Deprecated. since 1.2 |
static int |
SUBTRACT
|
static int |
SUM
Deprecated. since 1.2 |
protected int |
type
|
Constructor Summary | |
---|---|
Expression()
|
Method Summary | |
---|---|
Expression |
andExp(Expression exp)
Chains this expression with another expression using "and". |
Expression |
deepCopy()
Clones this expression. |
abstract void |
encodeAsString(java.io.PrintWriter pw)
Stores a String representation of Expression using a provided PrintWriter. |
void |
encodeAsXML(XMLEncoder encoder)
Encodes itself, wrapping the string into XML CDATA section. |
boolean |
equals(java.lang.Object object)
|
abstract java.lang.Object |
evaluate(java.lang.Object o)
Calculates expression value with object as a context for path expressions. |
java.lang.String |
expName()
Returns String label for this expression. |
Expression |
expWithParameters(java.util.Map parameters)
A shortcut for expWithParams(params, true) . |
Expression |
expWithParameters(java.util.Map parameters,
boolean pruneMissing)
Creates and returns a new Expression instance using this expression as a prototype. |
java.util.Collection |
filter(java.util.Collection source,
java.util.Collection target)
Adds objects matching this expression from the source collection to the target collection. |
java.util.List |
filterObjects(java.util.List objects)
Returns a list of objects that match the expression. |
protected abstract void |
flattenTree()
Restructures expression to make sure that there are no children of the same type as this expression. |
static Expression |
fromString(java.lang.String expressionString)
Parses string, converting it to Expression. |
abstract java.lang.Object |
getOperand(int index)
Returns a value of operand at index . |
abstract int |
getOperandCount()
Returns a count of operands of this expression. |
int |
getType()
Returns a type of expression. |
Expression |
joinExp(int type,
Expression exp)
Creates a new expression that joins this object with another expression, using specified join type. |
boolean |
match(java.lang.Object o)
Calculates expression boolean value with object as a context for path expressions. |
abstract Expression |
notExp()
Returns a logical NOT of current expression. |
Expression |
orExp(Expression exp)
Chains this expression with another expression using "or". |
protected abstract boolean |
pruneNodeForPrunedChild(java.lang.Object prunedChild)
Returns true if this node should be pruned from expression tree in the event a child is removed. |
abstract void |
setOperand(int index,
java.lang.Object value)
Sets a value of operand at index . |
void |
setType(int type)
|
abstract Expression |
shallowCopy()
Creates a copy of this expression node, without copying children. |
java.lang.String |
toString()
|
Expression |
transform(org.apache.commons.collections.Transformer transformer)
Creates a transformed copy of this expression, applying transformation provided by Transformer to all its nodes. |
protected java.lang.Object |
transformExpression(org.apache.commons.collections.Transformer transformer)
A recursive method called from "transform" to do the actual transformation. |
protected void |
traverse(Expression parentExp,
TraversalHandler visitor)
Traverses itself and child expressions, notifying visitor via callback methods as it goes. |
void |
traverse(TraversalHandler visitor)
Traverses itself and child expressions, notifying visitor via callback methods as it goes. |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final java.lang.Object PRUNED_NODE
public static final int AND
public static final int OR
public static final int NOT
public static final int EQUAL_TO
public static final int NOT_EQUAL_TO
public static final int LESS_THAN
public static final int GREATER_THAN
public static final int LESS_THAN_EQUAL_TO
public static final int GREATER_THAN_EQUAL_TO
public static final int BETWEEN
public static final int IN
public static final int LIKE
public static final int LIKE_IGNORE_CASE
public static final int ADD
public static final int SUBTRACT
public static final int MULTIPLY
public static final int DIVIDE
public static final int NEGATIVE
public static final int OBJ_PATH
public static final int DB_PATH
public static final int LIST
public static final int NOT_BETWEEN
public static final int NOT_IN
public static final int NOT_LIKE
public static final int NOT_LIKE_IGNORE_CASE
public static final int EXISTS
public static final int POSITIVE
public static final int ALL
public static final int SOME
public static final int ANY
public static final int RAW_SQL
public static final int SUBQUERY
public static final int SUM
public static final int COUNT
public static final int AVG
public static final int MAX
public static final int MIN
protected int type
Constructor Detail |
---|
public Expression()
Method Detail |
---|
public static Expression fromString(java.lang.String expressionString)
public java.lang.String expName()
public boolean equals(java.lang.Object object)
equals
in class java.lang.Object
public int getType()
public void setType(int type)
public Expression expWithParameters(java.util.Map parameters)
expWithParams(params, true)
.
public Expression expWithParameters(java.util.Map parameters, boolean pruneMissing)
params
map.
Null values in the params
map should be explicitly created in the
map for the corresponding key.
parameters
- a map of parameters, with each key being a string name of an
expression parameter, and value being the value that should be used in
the final expression.pruneMissing
- If true
, subexpressions that rely on missing
parameters will be pruned from the resulting tree. If false
,
any missing values will generate an exception.
public Expression joinExp(int type, Expression exp)
public Expression andExp(Expression exp)
public Expression orExp(Expression exp)
public abstract Expression notExp()
public abstract int getOperandCount()
public abstract java.lang.Object getOperand(int index)
index
. Operand indexing starts at 0.
public abstract void setOperand(int index, java.lang.Object value)
index
. Operand indexing starts at 0.
public abstract java.lang.Object evaluate(java.lang.Object o)
public boolean match(java.lang.Object o)
public java.util.List filterObjects(java.util.List objects)
public java.util.Collection filter(java.util.Collection source, java.util.Collection target)
public Expression deepCopy()
public abstract Expression shallowCopy()
protected abstract boolean pruneNodeForPrunedChild(java.lang.Object prunedChild)
protected abstract void flattenTree()
public void traverse(TraversalHandler visitor)
protected void traverse(Expression parentExp, TraversalHandler visitor)
public Expression transform(org.apache.commons.collections.Transformer transformer)
To force a node and its children to be pruned from the copy, Transformer should return Expression.PRUNED_NODE. Otherwise an expectation is that if a node is an Expression it must be transformed to null or another Expression. Any other object type would result in a ExpressionException.
protected java.lang.Object transformExpression(org.apache.commons.collections.Transformer transformer)
public void encodeAsXML(XMLEncoder encoder)
encodeAsXML
in interface XMLSerializable
public abstract void encodeAsString(java.io.PrintWriter pw)
public java.lang.String toString()
toString
in class java.lang.Object
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |