Class SelectExpression<T,R>
- java.lang.Object
-
- org.apache.qpid.server.query.engine.parsing.expression.AbstractExpressionNode<T,R>
-
- org.apache.qpid.server.query.engine.parsing.expression.set.AbstractSetExpression<T,R>
-
- org.apache.qpid.server.query.engine.parsing.query.SelectExpression<T,R>
-
- Type Parameters:
T- Input parameter typeR- Return parameter type
- All Implemented Interfaces:
java.util.function.Function<T,R>,Expression<T,R>,ExpressionNode<T,R>,SetExpression<T,R>
public class SelectExpression<T,R> extends AbstractSetExpression<T,R>
Contains information about a select expression, which may contain SELECT clause, FROM clause, WHERE clause, GROUP BY clause and HAVING clause.
-
-
Field Summary
-
Fields inherited from class org.apache.qpid.server.query.engine.parsing.expression.set.AbstractSetExpression
_distinct
-
Fields inherited from class org.apache.qpid.server.query.engine.parsing.expression.AbstractExpressionNode
_metadata
-
-
Constructor Summary
Constructors Constructor Description SelectExpression()Default constructor sets default distinct property value (false)SelectExpression(boolean distinct)Constructor sets distinct property value
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Rapply(T value)Evaluates select expression and returns evaluation resultvoiddistinct(boolean distinct)voidfrom(java.lang.String domain, java.lang.String alias)java.util.List<ProjectionExpression<T,R>>getAggregationItems()java.lang.StringgetAlias()Returns expression aliasFromExpression<T,java.util.stream.Stream<?>,org.apache.qpid.server.model.ConfiguredObject<?>>getFrom()java.util.List<ProjectionExpression<T,R>>getGroupBy()HavingExpression<T,R>getHaving()intgetOrdinal()java.util.List<ProjectionExpression<T,R>>getProjections()Returns list of projectionsjava.util.function.Predicate<T>getWhere()voidgroupBy(ProjectionExpression<T,R> expression)booleanhasAggregationItems()voidhaving(ExpressionNode<T,R> predicate)booleanisDistinct()booleanisSelectAll()voidjoin()voidresetOrdinal()voidselectAll()voidselectItem(ProjectionExpression<T,R> expression)java.lang.StringtoString()voidwhere(ExpressionNode<T,R> predicate)-
Methods inherited from class org.apache.qpid.server.query.engine.parsing.expression.set.AbstractSetExpression
getSelections
-
Methods inherited from class org.apache.qpid.server.query.engine.parsing.expression.AbstractExpressionNode
containsAggregation, ctx, evaluateChild, getAggregations, getChild, getChildren, getParent, isAccessor, isInstantlyEvaluable, setAlias, setParent
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.apache.qpid.server.query.engine.parsing.expression.Expression
andThen
-
Methods inherited from interface org.apache.qpid.server.query.engine.parsing.expression.ExpressionNode
containsAggregation, getAggregations, getChildren, getParent, isAccessor, isInstantlyEvaluable, setAlias, setParent
-
-
-
-
Method Detail
-
apply
public R apply(T value)
Evaluates select expression and returns evaluation result- Parameters:
value- Object to handle (is ignored)- Returns:
- Evaluation result
-
getProjections
public java.util.List<ProjectionExpression<T,R>> getProjections()
Description copied from class:AbstractSetExpressionReturns list of projections- Specified by:
getProjectionsin interfaceSetExpression<T,R>- Overrides:
getProjectionsin classAbstractSetExpression<T,R>- Returns:
- List of projections
-
isDistinct
public boolean isDistinct()
-
isSelectAll
public boolean isSelectAll()
-
getOrdinal
public int getOrdinal()
-
getFrom
public FromExpression<T,java.util.stream.Stream<?>,org.apache.qpid.server.model.ConfiguredObject<?>> getFrom()
-
getWhere
public java.util.function.Predicate<T> getWhere()
-
getGroupBy
public java.util.List<ProjectionExpression<T,R>> getGroupBy()
-
getHaving
public HavingExpression<T,R> getHaving()
-
selectAll
public void selectAll()
-
selectItem
public void selectItem(ProjectionExpression<T,R> expression)
-
distinct
public void distinct(boolean distinct)
-
from
public void from(java.lang.String domain, java.lang.String alias)
-
join
public void join()
-
where
public void where(ExpressionNode<T,R> predicate)
-
having
public void having(ExpressionNode<T,R> predicate)
-
groupBy
public void groupBy(ProjectionExpression<T,R> expression)
-
resetOrdinal
public void resetOrdinal()
-
hasAggregationItems
public boolean hasAggregationItems()
-
getAggregationItems
public java.util.List<ProjectionExpression<T,R>> getAggregationItems()
-
getAlias
public java.lang.String getAlias()
Description copied from class:AbstractExpressionNodeReturns expression alias- Specified by:
getAliasin interfaceExpressionNode<T,R>- Overrides:
getAliasin classAbstractExpressionNode<T,R>- Returns:
- Expression alias
-
toString
public java.lang.String toString()
- Overrides:
toStringin classAbstractExpressionNode<T,R>
-
-