Eclipse Platform
Release 3.6

org.eclipse.equinox.p2.query
Interface IQuery<T>

Type Parameters:
T - The type of input object that this query accepts
All Known Subinterfaces:
IMatchQuery<T>, IQueryWithIndex<T>
All Known Implementing Classes:
ArtifactDescriptorQuery, ArtifactKeyQuery, ExpressionMatchQuery, ExpressionQuery, IUProfilePropertyQuery, MatchQuery, OSGiBundleQuery, UserVisibleRootQuery

public interface IQuery<T>

The root interface for all queries that can be performed on an IQueryable. A query is a piece of logic that selects some objects from a list of provided inputs using some established criteria.

Any given query must be stable - running the same query on the same inputs must return an equal query result each time the query is executed. Thus a client that has performed a query can freely cache the result as long as they know the query input has not changed.

Since:
2.0
Restriction:
This interface is not intended to be implemented directly by clients.
Restriction:
This interface is not intended to be extended directly by clients.

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

Method Detail

perform

IQueryResult<T> perform(Iterator<T> iterator)
Evaluates the query for a specific input.

Parameters:
iterator - The elements for which to evaluate the query on
Returns:
The results of the query.

getExpression

IExpression getExpression()
Returns the IExpression backing this query or null if this is not an expression query.

Returns:
An expression or null.

Eclipse Platform
Release 3.6

Guidelines for using Eclipse APIs.

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