Class MatchQuery<T>

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

@Deprecated public abstract class MatchQuery<T> extends Object implements IMatchQuery<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
 }
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

    Constructors
    Constructor
    Description
    Deprecated.
     
  • Method Summary

    Modifier and Type
    Method
    Description
    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.
    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
    Deprecated.
    Execute any post-processing that must be done after this query has been performed against a particular iterator.
    void
    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 Details

    • MatchQuery

      public MatchQuery()
      Deprecated.
  • Method Details

    • 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
      Since:
      2.0
      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.