@SuppressWarnings("unchecked") @Override public Consumer adapt(final ContextBoundValue sourceObject, Class<Consumer> targetType, ValueAccess... valueAccess) { return e -> sourceObject.publish(e); } }
@Override protected Object doGetValue() { return this.sourceObject.getValue(); }
public void setActiveInputTracker(@ContextValue("activeInput") Property<Input<?>> activeInput) { this.activeInput = activeInput; }
@Inject public InstanceCreator(IEclipseContext context, @Service List<TypeTypeProviderService<O>> providerList) { this.context = context; this.providerList = providerList; }
@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); } }
@SuppressWarnings("unchecked") @Override public Property adapt(final ContextBoundValue sourceObject, Class<Property> targetType, ValueAccess... valueAccess) { final SimpleObjectProperty<Object> rv = new SimpleObjectProperty<>(sourceObject.getValue()); final InvalidationListener l = new InvalidationListener() { @Override public void invalidated(Observable observable) { sourceObject.publish(rv.get()); } }; rv.addListener(l); sourceObject.subscribeOnValueChange(new Callback() { @Override public void call(Object value) { if (rv.get() == null && value == null) return; if (rv.get() != null && rv.get().equals(value)) return; rv.set(value); } }); sourceObject.subscribeOnDispose(new Callback() { @Override public void call(Object value) { rv.removeListener(l); } }); return rv; }
@Override public Object get(IObjectDescriptor descriptor, IRequestor requestor, boolean track, boolean group) { Type desiredType = descriptor.getDesiredType(); Bundle b = FrameworkUtil.getBundle(requestor.getRequestingObjectClass()); if (desiredType instanceof ParameterizedType) { ParameterizedType t = (ParameterizedType) desiredType; if (t.getRawType() == Collections.class || t.getRawType() == List.class) { return handleCollection(b, t.getActualTypeArguments()[0], requestor, track && descriptor.getQualifier(Service.class).dynamic()); } } return handleSingle(b, desiredType, requestor, descriptor, track && descriptor.getQualifier(Service.class).dynamic()); }
@SuppressWarnings("unchecked") @Override protected void firstListenerAdded(){ this.currentSubscription = this.sourceObject.subscribeOnValueChange(new ContextBoundValueChanged()); } @Override
final IObservableValue w = new ContextBoundObservableValue(r,sourceObject); sourceObject.subscribeOnDispose(new Callback<Void>() {
@Override public Object compute(IEclipseContext context) { String key = "local_" + this.type; //$NON-NLS-1$ @SuppressWarnings("unchecked") T rv = (T) context.get(key); if (rv == null) { ScopedObjectFactory factory = context.get(ScopedObjectFactory.class); rv = factory.newInstance(this.type); context.modify(key, rv); } return rv; } }
@Override public Object compute(IEclipseContext context, String contextKey) { if( this.singleton ) { String key = "singleton_" + this.type; //$NON-NLS-1$ Object rv = context.get(key); if (rv == null) { ScopedObjectFactory factory = context.get(ScopedObjectFactory.class); ObjectFactory<@NonNull ?> f = (ObjectFactory<@NonNull ?>) context.get(this.factoryClass); if( f != null && factory != null ) { rv = f.create(factory); context.modify(key, rv); } } return rv; } else { ScopedObjectFactory factory = context.get(ScopedObjectFactory.class); ObjectFactory<@NonNull ?> f = (ObjectFactory<@NonNull ?>) context.get(this.factoryClass); if( f != null && factory != null ) { return f.create(factory); } } return null; }
@Inject @Optional public void setActiveInputTracker(@ContextValue("activeInput") Property<Input<?>> activeInput) { this.activeInput = activeInput; }
@SuppressWarnings("unchecked") @Override protected void doSetValue(Object value) { this.sourceObject.publish(value); }
@Inject public ConfigurationPartitioner(LanguageDef m, InputContext context, Input<?> input, @Service List<ConfigurationConditionDataProvider> providers ) { super(getScanner(m, Util.createNamedValueList(context,input, providers)), getParitions(m)); }
IDocumentPartitioner partitioner, Input<?> input, @Optional @ContextValue("activeInput") Property<Input<?>> activeInput, @Preference(nodePath=Constants.PREFERENCE_NODE_PATH, key=Constants.PREFERENCE_ZOOMFACTOR, defaultValue="1.0") Property<Double> zoomFactor) { setContextMenuProvider(contextMenuProvider);
@Override public void invalidated(Observable observable) { sourceObject.publish(rv.get()); } };