public interface IContextFunction
IEclipseContext. The result of the function must be derived purely from the provided arguments and context objects, and must be free from side-effects other than the function's return value. In particular, the function must be idempotent - subsequent invocations of the same function with the same inputs must produce the same result.
A common use for context functions is as a place holder for an object that
has not yet been created. These place holders can be stored as values in an
IEclipseContext, allowing the concrete value they represent to be
computed lazily only when requested.
Context functions can optionally be registered as OSGi services. Context
implementations may use such registered services to seed context instances
with initial values. Registering your context function as a service is a
signal that contexts are free to add an instance of your function to their
context automatically, using the key specified by the
SERVICE_CONTEXT_KEY service property.
|Modifier and Type||Field and Description|
An OSGi service property used to indicate the context key this function should be registered in.
The OSGi service name for a context function service.
static final String SERVICE_NAME
Object compute(IEclipseContext context, String contextKey)
context- The context in which to perform the value computation.
contextKey- The context key used to find this function; may be
nullsuch as if invoked directly.
IInjector.NOT_A_VALUEto cause lookup to continue up the context hierarchy.
Copyright (c) 2000, 2017 Eclipse Contributors and others. All rights reserved.Guidelines for using Eclipse APIs.