Class ExpressionMatchQuery<T>

All Implemented Interfaces:
IQueryWithIndex<T>, IMatchQuery<T>, IQuery<T>
Direct Known Subclasses:
ArtifactDescriptorQuery, ArtifactKeyQuery, IUProfilePropertyQuery, OSGiBundleQuery

public class ExpressionMatchQuery<T> extends Object implements IMatchQuery<T>, IQueryWithIndex<T>
A query that matches candidates against an expression.
  • Constructor Details

    • ExpressionMatchQuery

      public ExpressionMatchQuery(Class<? extends T> matchingClass, IExpression expression, Object... parameters)
    • ExpressionMatchQuery

      public ExpressionMatchQuery(Class<? extends T> matchingClass, String expression, Object... parameters)
  • Method Details

    • getContext

      public IEvaluationContext getContext()
    • getMatchingClass

      public Class<? extends T> getMatchingClass()
    • 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>
      indexProvider - The provider of the material to evaluate the query on
      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>
      iterator - The elements for which to evaluate the query on
      The results of the query.
    • isMatch

      public boolean isMatch(T candidate)
      Description copied from interface: IMatchQuery
      Returns whether the given object satisfies the parameters of this query.
      Specified by:
      isMatch in interface IMatchQuery<T>
      candidate - The object to perform the query against
      true if the unit satisfies the parameters of this query, and false otherwise
    • getExpression

      public IMatchExpression<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>
      An expression or null.
    • setIndexProvider

      public void setIndexProvider(IIndexProvider<T> indexProvider)
    • prePerform

      public void prePerform()
    • postPerform

      public void postPerform()