Package org.eclipse.e4.core.contexts

# Class ContextFunction

java.lang.Object
org.eclipse.e4.core.contexts.ContextFunction

All Implemented Interfaces:
  `IContextFunction`

Direct Known Subclasses:
  `BindingServiceCreationFunction`, `CommandServiceCreationFunction`, `EventBrokerFactory`, `HandlerServiceCreationFunction`, `LocaleChangeServiceContextFunction`

public abstract class ContextFunction extends Object implements IContextFunction
The base class for all computed value implementations. Clients may subclass this class. See the class comment of `IContextFunction` for specific rules that must be followed by function implementations.

This class is intended to be subclassed by clients.

Since:
  1.3
See Also:
  - `IContextFunction`

## Field Summary

### Fields inherited from interface org.eclipse.e4.core.contexts.IContextFunction

`SERVICE_CONTEXT_KEY, SERVICE_NAME`

## Constructor Summary

Constructors
Constructor
Description
`ContextFunction()`
Constructs a new instance of the context function

## Method Summary

Modifier and Type
Method
Description
`Object`
`compute(IEclipseContext context)`
Deprecated.
`IContextFunction`'s compute() was changed to take the context key
`Object`
`compute(IEclipseContext context, String contextKey)`
Evaluates the function based on the provided arguments and context to produce a consistent result.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### ContextFunction

public ContextFunction()
Constructs a new instance of the context function

## Method Details

### compute

@Deprecated public Object compute(IEclipseContext context)
Deprecated.
`IContextFunction`'s compute() was changed to take the context key

### compute

public Object compute(IEclipseContext context, String contextKey)
Description copied from interface: `IContextFunction`
Evaluates the function based on the provided arguments and context to produce a consistent result.

Specified by:
  `compute` in interface `IContextFunction`
Parameters:
  `context` - The context in which to perform the value computation.
  `contextKey` - The context key used to find this function; may be `null` such as if invoked directly.
Returns:
  The concrete value. Implementations may return `IInjector.NOT_A_VALUE` to cause lookup to continue up the context hierarchy.