@Override public boolean changed(IEclipseContext context) { notifySubscriptions(getValue()); return true; } });
@Override public Object get(IObjectDescriptor descriptor, IRequestor requestor, boolean track, boolean group) { ContextValue qualifier = descriptor.getQualifier(ContextValue.class); if( qualifier == null ) { return IInjector.NOT_A_VALUE; } Class<?> desiredClass = getDesiredClass(descriptor.getDesiredType()); if( desiredClass == null ) { return IInjector.NOT_A_VALUE; } Requestor<?> r = (Requestor<?>) requestor; EclipseContextBoundValue<?> c = r.getInjector().make(EclipseContextBoundValue.class, r.getPrimarySupplier()); c.setContextKey(qualifier.value()); if( desiredClass == ContextBoundValue.class) { return c; } else { return c.adaptTo(desiredClass); } }