Eclipse Platform Release 3.7

## org.eclipse.equinox.p2.query
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 Summary
`ExpressionQuery(Class<? extends T> elementClass, IExpression expression, Object... parameters)`
`ExpressionQuery(Class<? extends T> matchingClass, String expression, Object... parameters)`

Method Summary

`static

`<T> IContextExpression<T>`

`

`createExpression(IQuery<T> query)`

`Class<? extends T>` `getElementClass()`

`static

`<T> Class<? extends T>`

`

`getElementClass(IQuery<T> query)`

`IContextExpression<T>` `getExpression()` Returns the IExpression backing this query or `null` if this is not an expression query.
`IQueryResult<T>` `perform(IIndexProvider<T> indexProvider)` Evaluates the query using the `indexProvider`.
`IQueryResult<T>` `perform(Iterator<T> iterator)` Evaluates the query for a specific input.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

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(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)

Eclipse Platform Release 3.7

Guidelines for using Eclipse APIs.

Copyright (c) Eclipse contributors and others 2000, 2011. All rights reserved.