Class ExpressionQuery<T>

  • All Implemented Interfaces:
    IQueryWithIndex<T>, IQuery<T>

    public class ExpressionQuery<T>
    extends Object
    implements IQueryWithIndex<T>
    A query that evaluates using an iterator as input and produces a new iterator.
    Since:
    2.0
    • Constructor Detail

      • ExpressionQuery

        public ExpressionQuery​(Class<? extends T> elementClass,
                               IExpression expression,
                               Object... parameters)
      • ExpressionQuery

        public ExpressionQuery​(Class<? extends T> matchingClass,
                               String expression,
                               Object... parameters)
    • Method Detail

      • getElementClass

        public Class<? extends T> getElementClass()
      • perform

        public IQueryResult<T> perform​(Iterator<T> iterator)
        Description copied from interface: IQuery
        Evaluates the query for a specific input.
        Specified by:
        perform in interface IQuery<T>
        Parameters:
        iterator - The elements for which to evaluate the query on
        Returns:
        The results of the query.
      • getExpression

        public IContextExpression<T> getExpression()
        Description copied from interface: IQuery
        Returns the IExpression backing this query or null if this is not an expression query.
        Specified by:
        getExpression in interface IQuery<T>
        Returns:
        An expression or null.
      • getElementClass

        public static <T> Class<? extends T> getElementClass​(IQuery<T> query)