org.d2rq.db.expr
Class Constant
java.lang.Object
org.d2rq.db.expr.Expression
org.d2rq.db.expr.Constant
public class Constant
- extends Expression
A constant-valued expression. The datatype of the constant must be
specified. For situations where the datatype is not yet known at
constant creation time, a column name, expression, or generic type
can be specified instead.
- Author:
- Richard Cyganiak (richard@cyganiak.de)
Method Summary |
static Constant |
create(String value,
ColumnName columnForType)
|
static Constant |
create(String value,
DataType.GenericType genericType)
|
static Constant |
create(String value,
DataType dataType)
|
static Constant |
create(String value,
Expression expressionForType)
|
boolean |
equals(Object other)
|
Set<ColumnName> |
getColumns()
|
DataType |
getDataType(DatabaseOp table,
Vendor vendor)
|
int |
hashCode()
|
boolean |
isConstant()
|
boolean |
isConstantColumn(ColumnName column,
boolean constIfTrue,
boolean constIfFalse,
boolean constIfConstantValue)
Checks whether this expression forces a given column to be a constant,
that is, have the same value everywhere. |
boolean |
isFalse()
|
boolean |
isTrue()
|
Expression |
rename(Renamer columnRenamer)
|
String |
toSQL(DatabaseOp table,
Vendor vendor)
|
String |
toString()
|
String |
value()
|
create
public static Constant create(String value,
DataType.GenericType genericType)
create
public static Constant create(String value,
DataType dataType)
create
public static Constant create(String value,
ColumnName columnForType)
create
public static Constant create(String value,
Expression expressionForType)
value
public String value()
getColumns
public Set<ColumnName> getColumns()
- Specified by:
getColumns
in class Expression
isFalse
public boolean isFalse()
- Specified by:
isFalse
in class Expression
isTrue
public boolean isTrue()
- Specified by:
isTrue
in class Expression
isConstant
public boolean isConstant()
- Specified by:
isConstant
in class Expression
isConstantColumn
public boolean isConstantColumn(ColumnName column,
boolean constIfTrue,
boolean constIfFalse,
boolean constIfConstantValue)
- Description copied from class:
Expression
- Checks whether this expression forces a given column to be a constant,
that is, have the same value everywhere. For example,
T.COL1=5 forces T.COL1 to be constant if the expression is assumed
to be true; T.COL1+1 forces it to be constant if the expression
is assumed to evaluate to a constant value. Exactly one of the three
constXXX arguments must be true, the other two must be false.
- Specified by:
isConstantColumn
in class Expression
- Parameters:
column
- The column to be checkedconstIfTrue
- Is the column constant assuming the expression evaluates to true?constIfFalse
- Is the column constant assuming the expression evaluates to false?constIfConstantValue
- Is column constant assuming the expression evaluates to a value equal to some constant?
rename
public Expression rename(Renamer columnRenamer)
- Specified by:
rename
in class Expression
toSQL
public String toSQL(DatabaseOp table,
Vendor vendor)
- Specified by:
toSQL
in class Expression
getDataType
public DataType getDataType(DatabaseOp table,
Vendor vendor)
- Specified by:
getDataType
in class Expression
toString
public String toString()
- Overrides:
toString
in class Object
equals
public boolean equals(Object other)
- Overrides:
equals
in class Object
hashCode
public int hashCode()
- Overrides:
hashCode
in class Object