Eclipse Platform Release 3.7

## org.eclipse.equinox.p2.metadata.expression
Interface IContextExpression<T>

All Superinterfaces:
  IExpression

    public interface IContextExpression<T>

extends IExpression

This is an expression that will need access to the global variable `everything`.

Since:
  2.0

Field Summary

Fields inherited from interface org.eclipse.equinox.p2.metadata.expression.IExpression

`TYPE_ALL, TYPE_AND, TYPE_ARRAY, TYPE_ASSIGNMENT, TYPE_AT, TYPE_COLLECT, TYPE_CONDITION, TYPE_EQUALS, TYPE_EXISTS, TYPE_FIRST, TYPE_FLATTEN, TYPE_FUNCTION, TYPE_GREATER, TYPE_GREATER_EQUAL, TYPE_INTERSECT, TYPE_LAMBDA, TYPE_LATEST, TYPE_LESS, TYPE_LESS_EQUAL, TYPE_LIMIT, TYPE_LITERAL, TYPE_MATCHES, TYPE_MEMBER, TYPE_NOT, TYPE_NOT_EQUALS, TYPE_OR, TYPE_PARAMETER, TYPE_PIPE, TYPE_SELECT, TYPE_TRAVERSE, TYPE_UNION, TYPE_UNIQUE, TYPE_VARIABLE`

Method Summary
`IEvaluationContext` `createContext(Class<? extends T> elementClass, IIndexProvider<T> indexProvider)` Creates a new context to be passed to a subsequent evaluation.
`IEvaluationContext` `createContext(Class<? extends T> elementClass, Iterator<T> everything)` Creates a new context to be passed to a subsequent evaluation.
`Object[]` `getParameters()` Returns the parameters that this context expression was created with.
`Iterator<T>` `iterator(IEvaluationContext context)` Evaluate the expression and return the expected collection result as an iterator

Methods inherited from interface org.eclipse.equinox.p2.metadata.expression.IExpression
`accept, evaluate, getExpressionType, toLDAPString, toString`

Method Detail

### createContext

    IEvaluationContext createContext(Class<? extends T> elementClass,
                                     IIndexProvider<T> indexProvider)

  Creates a new context to be passed to a subsequent evaluation. The context will have the variable 'everything' set to an expression that represents the `everything` iterator filtered for instances of `elementClass`.

  The values of the iterator will be copied if necessary (when everything is referenced more then once).

  Parameters:
    `elementClass` - the class of the iterator elements
    `indexProvider` - The index provider that represents all queried material.
  Returns:
    A new evaluation context.

### createContext

    IEvaluationContext createContext(Class<? extends T> elementClass,
                                     Iterator<T> everything)

  Creates a new context to be passed to a subsequent evaluation. The context will have the variable 'everything' set to an expression that represents the `everything` iterator filtered for instances of `elementClass`.

  The values of the iterator will be copied if necessary (when everything is referenced more then once).

  Parameters:
    `elementClass` - the class of the iterator elements
    `everything` - The iterator that represents all queried material.
  Returns:
    A new evaluation context.

### getParameters

    Object[] getParameters()

  Returns the parameters that this context expression was created with.

  Returns:
    An array of parameters, possibly empty but never `null`.

### iterator

    Iterator<T> iterator(IEvaluationContext context)

  Evaluate the expression and return the expected collection result as an iterator

  Parameters:
    `context` - The evaluation context
  Returns:
    The result of the evaluation.

Eclipse Platform Release 3.7

Guidelines for using Eclipse APIs.

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