Eclipse Platform
Release 3.6

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

java.lang.Object
  extended by org.eclipse.equinox.p2.query.MatchQuery<T>
All Implemented Interfaces:
IMatchQuery<T>, IQuery<T>

Deprecated. If possible, use one of the predefined queries in QueryUtil or use the QueryUtil.createMatchQuery(String, Object...) to create a custom expression based query. If the query cannot be expressed using the p2QL, then use a predefined or custom expression query as a first filter (in worst case, use QueryUtil.createIUAnyQuery()) and then provide further filtering like so:
 for(iter = queryable.query(someExpressionQuery).iterator(); iter.hasNext();) {
   // do your match here
 }

public abstract class MatchQuery<T>
extends Object
implements IMatchQuery<T>

This class represents a simple Java-based query. Clients may subclass and override the isMatch(Object) method in order to write simple queries against p2 metadata.

Note that hand-written queries cannot be optimized for queryables containing indices, or for remote queryables. In general you should use one of the pre-defined queries found in QueryUtil if possible, to obtain queries optimized for indexing and remote execution. This class is intended for simple queries against small data sources where indexed lookup and remote query execution are not needed.

Since:
2.0

Constructor Summary
MatchQuery()
          Deprecated.  
 
Method Summary
 IExpression getExpression()
          Deprecated. Returns the IExpression backing this query or null if this is not an expression query.
abstract  boolean isMatch(T candidate)
          Deprecated. Returns whether the given object satisfies the parameters of this query.
 IQueryResult<T> perform(Iterator<T> iterator)
          Deprecated. Performs this query on the given iterator, passing all objects in the iterator that match the criteria of this query to the given result.
 void postPerform()
          Deprecated. Execute any post-processing that must be done after this query has been performed against a particular iterator.
 void prePerform()
          Deprecated. Execute any pre-processing that must be done before this query is performed against a particular iterator.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MatchQuery

public MatchQuery()
Deprecated. 
Method Detail

isMatch

public abstract boolean isMatch(T candidate)
Deprecated. 
Returns whether the given object satisfies the parameters of this query.

Specified by:
isMatch in interface IMatchQuery<T>
Parameters:
candidate - The object to perform the query against
Returns:
true if the unit satisfies the parameters of this query, and false otherwise
Restriction:
This method is not intended to be referenced by clients. Clients should call perform(Iterator)

perform

public final IQueryResult<T> perform(Iterator<T> iterator)
Deprecated. 
Performs this query on the given iterator, passing all objects in the iterator that match the criteria of this query to the given result.

Specified by:
perform in interface IQuery<T>
Parameters:
iterator - The elements for which to evaluate the query on
Returns:
The results of the query.

prePerform

public void prePerform()
Deprecated. 
Execute any pre-processing that must be done before this query is performed against a particular iterator. This method may be used by subclasses to do any calculations, caching, or other preparation for the query.

This method is internal to the framework. Subclasses may override this method, but should not call this method.

Restriction:
This method is not intended to be referenced by clients.

postPerform

public void postPerform()
Deprecated. 
Execute any post-processing that must be done after this query has been performed against a particular iterator. This method may be used by subclasses to clear caches or any other cleanup that should occur after a query.

This method will be called even if the query does not complete successfully.

This method is internal to the framework. Subclasses may override this method, but should not call this method.

Restriction:
This method is not intended to be referenced by clients.

getExpression

public IExpression getExpression()
Deprecated. 
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.

Eclipse Platform
Release 3.6

Guidelines for using Eclipse APIs.

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