Eclipse Platform
Release 3.6

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.6

Guidelines for using Eclipse APIs.

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