Class ProjectionExpression<T,​R>

  • Type Parameters:
    T - Input parameter type
    R - Return parameter type
    All Implemented Interfaces:
    java.util.function.Function<T,​R>, Expression<T,​R>, ExpressionNode<T,​R>

    public class ProjectionExpression<T,​R>
    extends AbstractExpressionNode<T,​R>
    Contains information about a single item in a SELECT clause
    • Field Detail

      • _ordinal

        protected final int _ordinal
        Ordinal value
    • Constructor Detail

      • ProjectionExpression

        public ProjectionExpression​(java.lang.String alias,
                                    ExpressionNode<T,​R> expression,
                                    int ordinal)
        Constructor stores properties
        Parameters:
        alias - Item alias
        expression - Item expression
        ordinal - Ordinal value
    • Method Detail

      • apply

        public R apply​(T object)
        Evaluated an object against the expression
        Parameters:
        object - Object to handle
        Returns:
        Evaluation result
      • applyAggregation

        public R applyAggregation​(SelectExpression<T,​R> selectExpression,
                                  java.util.List<T> items)
        Evaluates a collection of objects against an aggregation expression
        Parameters:
        selectExpression - Select expression
        items - Collection of objects
        Returns:
        Aggregation result
      • getExpression

        public Expression<T,​R> getExpression()
        Returns wrapped expression
        Returns:
        Expression instance
      • isOrdinal

        public boolean isOrdinal()