Eclipse Platform Release 3.7

## org.eclipse.equinox.p2.metadata.index
Interface IQueryWithIndex<T>

All Superinterfaces:
  IQuery<T>

All Known Implementing Classes:
  ArtifactDescriptorQuery, ArtifactKeyQuery, ExpressionMatchQuery, ExpressionQuery, IUProfilePropertyQuery, OSGiBundleQuery, UserVisibleRootQuery

    public interface IQueryWithIndex<T>

extends IQuery<T>

An extension of the `IQuery` that allows use of indexes.

Since:
  2.0

Method Summary
`IQueryResult<T>` `perform(IIndexProvider<T> indexProvider)` Evaluates the query using the `indexProvider`.

Methods inherited from interface org.eclipse.equinox.p2.query.IQuery
`getExpression, perform`

Method Detail

### perform

    IQueryResult<T> perform(IIndexProvider<T> indexProvider)

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

  Parameters:
    `indexProvider` - The provider of the material to evaluate the query on
  Returns:
    The results of the query.

Eclipse Platform Release 3.7

Guidelines for using Eclipse APIs.

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