Eclipse Platform
Release 3.6

org.eclipse.equinox.p2.query
Class ExpressionQuery<T>

java.lang.Object
  extended by 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.6

Guidelines for using Eclipse APIs.

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