public class SelectItem extends BaseObject implements QueryItem, Cloneable
SelectClause
,
Serialized FormModifier and Type | Field and Description |
---|---|
static String |
FUNCTION_APPROXIMATION_PREFIX |
Constructor and Description |
---|
SelectItem(Column column)
Creates a simple SelectItem that selects from a column
|
SelectItem(Column column,
FromItem fromItem)
Creates a SelectItem that references a column from a particular
FromItem , for example a.price or p.age |
SelectItem(FunctionType function,
Column column)
Creates a SelectItem that uses a function on a column, for example SUM(price) or MAX(age)
|
SelectItem(FunctionType function,
Column column,
FromItem fromItem)
Creates a SelectItem that uses a function on a column from a particular
FromItem , for example
SUM(a.price) or MAX(p.age) |
SelectItem(FunctionType function,
Object[] functionParameters,
Column column)
Create a SelectItem that uses a function with parameters on a column.
|
SelectItem(FunctionType function,
Object[] functionParameters,
Column column,
FromItem fromItem)
Creates a SelectItem that uses a function with parameters on a column from a particular
FromItem , for
example MAP_VALUE('path.to.value', doc) |
SelectItem(FunctionType function,
String expression,
String alias)
Creates a SelectItem based on a function and an expression.
|
SelectItem(SelectItem subQuerySelectItem,
FromItem subQueryFromItem)
Creates a SelectItem that references another select item in a subquery
|
SelectItem(String expression,
String alias)
Creates a SelectItem based on an expression.
|
Modifier and Type | Method and Description |
---|---|
protected SelectItem |
clone() |
protected SelectItem |
clone(Query clonedQuery)
Creates a clone of the
SelectItem for use within a cloned Query . |
protected void |
decorateIdentity(List<Object> identifiers)
Subclasses should implement this method and add all fields to the list
that are to be included in equals(...) and hashCode() evaluation
|
boolean |
equalsIgnoreAlias(SelectItem that) |
boolean |
equalsIgnoreAlias(SelectItem that,
boolean exactColumnCompare) |
AggregateFunction |
getAggregateFunction() |
String |
getAlias() |
Column |
getColumn() |
static SelectItem |
getCountAllItem()
Generates a COUNT(*) select item
|
ColumnType |
getExpectedColumnType()
Tries to infer the
ColumnType of this SelectItem . |
String |
getExpression()
Returns an "expression" that this select item represents.
|
FromItem |
getFromItem() |
Object[] |
getFunctionParameters()
Gets any parameters to the
getAggregateFunction() or getScalarFunction() used. |
Query |
getQuery() |
String |
getSameQueryAlias() |
String |
getSameQueryAlias(boolean includeSchemaInColumnPath) |
ScalarFunction |
getScalarFunction() |
SelectItem |
getSubQuerySelectItem() |
String |
getSuperQueryAlias() |
String |
getSuperQueryAlias(boolean includeQuotes) |
boolean |
hasFunction() |
static boolean |
isCountAllItem(SelectItem item) |
boolean |
isFunctionApproximationAllowed() |
boolean |
isReferenced(Column column)
Investigates whether or not this SelectItem references a particular column.
|
SelectItem |
replaceFunction(FunctionType function)
Creates a copy of the
SelectItem , with a different FunctionType . |
SelectItem |
replaceFunction(FunctionType function,
Object... functionParameters)
Creates a copy of the
SelectItem , with a different FunctionType and parameters. |
SelectItem |
replaceFunctionApproximationAllowed(boolean functionApproximationAllowed)
Creates a copy of the
SelectItem , with a different isFunctionApproximationAllowed() flag set. |
SelectItem |
setAlias(String alias) |
void |
setFunctionApproximationAllowed(boolean functionApproximationAllowed) |
SelectItem |
setQuery(Query query) |
String |
toSql() |
String |
toSql(boolean includeSchemaInColumnPath) |
String |
toString() |
StringBuilder |
toStringNoAlias() |
StringBuilder |
toStringNoAlias(boolean includeSchemaInColumnPath) |
classEquals, equals, hashCode
public static final String FUNCTION_APPROXIMATION_PREFIX
public SelectItem(Column column)
column
- public SelectItem(FunctionType function, Column column)
function
- column
- public SelectItem(FunctionType function, Object[] functionParameters, Column column)
function
- functionParameters
- column
- public SelectItem(Column column, FromItem fromItem)
FromItem
, for example a.price or p.agecolumn
- fromItem
- public SelectItem(FunctionType function, Column column, FromItem fromItem)
FromItem
, for example
SUM(a.price) or MAX(p.age)function
- column
- fromItem
- public SelectItem(FunctionType function, Object[] functionParameters, Column column, FromItem fromItem)
FromItem
, for
example MAP_VALUE('path.to.value', doc)function
- functionParameters
- column
- fromItem
- public SelectItem(String expression, String alias)
expression
- alias
- public SelectItem(FunctionType function, String expression, String alias)
function
- expression
- alias
- public SelectItem(SelectItem subQuerySelectItem, FromItem subQueryFromItem)
subQuerySelectItem
- subQueryFromItem
- the FromItem that holds the sub-querypublic static SelectItem getCountAllItem()
public static boolean isCountAllItem(SelectItem item)
public String getAlias()
public SelectItem setAlias(String alias)
public boolean hasFunction()
public AggregateFunction getAggregateFunction()
public ScalarFunction getScalarFunction()
public Object[] getFunctionParameters()
getAggregateFunction()
or getScalarFunction()
used.public boolean isFunctionApproximationAllowed()
public void setFunctionApproximationAllowed(boolean functionApproximationAllowed)
public Column getColumn()
public ColumnType getExpectedColumnType()
ColumnType
of this SelectItem
. For expression based select items, this is not
possible, and the method will return null.public String getExpression()
DataContext
implementations, but may be useful for utilizing database-specific behaviour in certain
cases.public SelectItem setQuery(Query query)
public SelectItem getSubQuerySelectItem()
public FromItem getFromItem()
public String getSuperQueryAlias()
public String getSuperQueryAlias(boolean includeQuotes)
includeQuotes
- indicates whether or not the output should include quotes, if the select item's column has
quotes associated (typically true, but false if used for presentation)public String getSameQueryAlias()
public String getSameQueryAlias(boolean includeSchemaInColumnPath)
public String toSql(boolean includeSchemaInColumnPath)
public StringBuilder toStringNoAlias()
public StringBuilder toStringNoAlias(boolean includeSchemaInColumnPath)
public boolean equalsIgnoreAlias(SelectItem that)
public boolean equalsIgnoreAlias(SelectItem that, boolean exactColumnCompare)
protected void decorateIdentity(List<Object> identifiers)
BaseObject
decorateIdentity
in class BaseObject
protected SelectItem clone()
protected SelectItem clone(Query clonedQuery)
SelectItem
for use within a cloned Query
.public SelectItem replaceFunction(FunctionType function)
SelectItem
, with a different FunctionType
.function
- public SelectItem replaceFunction(FunctionType function, Object... functionParameters)
SelectItem
, with a different FunctionType
and parameters.function
- functionParameters
- public SelectItem replaceFunctionApproximationAllowed(boolean functionApproximationAllowed)
SelectItem
, with a different isFunctionApproximationAllowed()
flag set.functionApproximationAllowed
- public boolean isReferenced(Column column)
column
- public String toString()
toString
in interface QueryItem
toString
in class BaseObject
Copyright © 2007–2020 The Apache Software Foundation. All rights reserved.