abstract class UnaryOp extends AbstractVal
FALSE, TRUE
ABS_VAL, ARGS_VAL, CMP_EQUAL, COALESCE_VAL, CONCAT_VAL, FORCE_OUTER, GENERALCASE_VAL, INDEXOF_VAL, JOIN_REL, LENGTH_VAL, LOCATE_VAL, LOWER_VAL, MATH_VAL, NULL_CMP, NULLIF_VAL, SIMPLECASE_VAL, SQRT_VAL, SUBSTRING_VAL, TRIM_VAL, UPPER_VAL, VAL, WHENCONDITION_VAL, WHENSCALAR_VAL
Constructor and Description |
---|
UnaryOp(Val val)
Constructor.
|
UnaryOp(Val val,
boolean noParen) |
Modifier and Type | Method and Description |
---|---|
void |
acceptVisit(ExpressionVisitor visitor)
Accept a visit from a tree visitor.
|
void |
appendTo(Select sel,
ExpContext ctx,
ExpState state,
SQLBuffer sql,
int index)
Append the
index th SQL element to the given buffer. |
void |
calculateValue(Select sel,
ExpContext ctx,
ExpState state,
Val other,
ExpState otherState)
Calculate and cache the SQL for this value.
|
ClassMetaData |
getMetaData()
Return any associated persistent type.
|
boolean |
getNoParen() |
protected abstract String |
getOperator()
Return the name of this operator.
|
Class |
getType()
Return the expected type for this value, or
Object if
the type is unknown. |
protected Class |
getType(Class c)
Return the type of this value based on the argument type.
|
Val |
getValue() |
void |
groupBy(Select sel,
ExpContext ctx,
ExpState state)
Group by this value.
|
ExpState |
initialize(Select sel,
ExpContext ctx,
int flags)
Initialize the value.
|
protected ExpState |
initializeValue(Select sel,
ExpContext ctx,
int flags) |
int |
length(Select sel,
ExpContext ctx,
ExpState state)
Return the number of SQL elements in this value.
|
Object |
load(ExpContext ctx,
ExpState state,
Result res)
Load the data for this value.
|
protected boolean |
nullableValue(ExpContext ctx,
ExpState state) |
void |
orderBy(Select sel,
ExpContext ctx,
ExpState state,
boolean asc)
Order by this value.
|
void |
select(Select sel,
ExpContext ctx,
ExpState state,
boolean pks)
Select the data for this value.
|
void |
selectColumns(Select sel,
ExpContext ctx,
ExpState state,
boolean pks)
Select just the columns for this value.
|
void |
setImplicitType(Class type)
Set the implicit type of the value, based on how it is used in the
filter.
|
void |
setMetaData(ClassMetaData meta)
Associate a persistent type with this value.
|
appendIndex, appendIsEmpty, appendIsNotEmpty, appendIsNotNull, appendIsNull, appendSize, appendType, getAlias, getId, getName, getPath, getSelectAs, isAggregate, isVariable, isXPath, setAlias, toDataStoreValue
public UnaryOp(Val val)
public UnaryOp(Val val, boolean noParen)
public Val getValue()
public ClassMetaData getMetaData()
Value
public void setMetaData(ClassMetaData meta)
Value
public Class getType()
Value
Object
if
the type is unknown.public void setImplicitType(Class type)
Value
Object
from Value.getType()
.public boolean getNoParen()
public ExpState initialize(Select sel, ExpContext ctx, int flags)
Val
protected ExpState initializeValue(Select sel, ExpContext ctx, int flags)
public void select(Select sel, ExpContext ctx, ExpState state, boolean pks)
Val
public void selectColumns(Select sel, ExpContext ctx, ExpState state, boolean pks)
Val
public void groupBy(Select sel, ExpContext ctx, ExpState state)
Val
public void orderBy(Select sel, ExpContext ctx, ExpState state, boolean asc)
Val
public Object load(ExpContext ctx, ExpState state, Result res) throws SQLException
Val
SQLException
public void calculateValue(Select sel, ExpContext ctx, ExpState state, Val other, ExpState otherState)
Val
length
or any append
methods.other
- the value being compared to, or null if not a comparisonpublic int length(Select sel, ExpContext ctx, ExpState state)
Val
public void appendTo(Select sel, ExpContext ctx, ExpState state, SQLBuffer sql, int index)
Val
index
th SQL element to the given buffer.protected Class getType(Class c)
protected abstract String getOperator()
public void acceptVisit(ExpressionVisitor visitor)
Value
acceptVisit
in interface Value
acceptVisit
in class AbstractVal
protected boolean nullableValue(ExpContext ctx, ExpState state)
Copyright © 2006–2015 Apache Software Foundation. All rights reserved.