Class ExpressionQuery<T>

java.lang.Object
org.eclipse.equinox.p2.query.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 Details

    • ExpressionQuery

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

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

    • getElementClass

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

      public IQueryResult<T> perform(IIndexProvider<T> indexProvider)
      Description copied from interface: IQueryWithIndex
      Evaluates the query using the indexProvider. The query is first analyzed for index candidates (typically expressions like id == <some value>) and if possible, indexes returned by IIndexProvider.getIndex(String) will be used in place of the iterator returned by IIndexProvider.everything().
      Specified by:
      perform in interface IQueryWithIndex<T>
      Parameters:
      indexProvider - The provider of the material to evaluate the query on
      Returns:
      The results of the query.
    • 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)
    • createExpression

      public static <T> IContextExpression<T> createExpression(IQuery<T> query)