public void onAdd(InjectableProvider ip) { add(ip); } });
public boolean isInjectableProviderRegistered(Class<? extends Annotation> ac, Class<?> cc, ComponentScope s) { return !findInjectableProviders(ac, cc, s).isEmpty(); }
public final <A extends Annotation, C> Injectable getInjectable( Class<? extends Annotation> ac, ComponentContext ic, A a, C c, List<ComponentScope> ls) { for (ComponentScope s : ls) { Injectable i = getInjectable(ac, ic, a, c, s); if (i != null) return i; else { } } return null; }
@SuppressWarnings("unchecked") public final void add(InjectableProvider ip) { Type[] args = getMetaArguments(ip.getClass()); if (args != null) { MetaInjectableProvider mip = new MetaInjectableProvider(ip, (Class)args[0], (Class)args[1]); // TODO change to add first getList(mip.ac).add(mip); } else { // TODO throw exception or log error } }
final InjectableProviderFactory injectableFactory = new InjectableProviderFactory(); injectableFactory.add(new ContextInjectableProvider<FeaturesAndProperties>( FeaturesAndProperties.class, config)); injectableFactory.add(new ContextInjectableProvider<ClientConfig>( ClientConfig.class, config)); injectableFactory.add(new ContextInjectableProvider<Client>( Client.class, this)); injectableFactory.configure(providerServices); workers = bodyContext; injectableFactory.add(new ContextInjectableProvider<MessageBodyWorkers>( MessageBodyWorkers.class, bodyContext)); injectableFactory.add( new ContextInjectableProvider<Providers>( Providers.class, this.providers)); injectableFactory.add(new InjectableProvider<Context, Type>() { @Override public ComponentScope getScope() {
public void update(Set<Class<?>> providers, Set<?> providerInstances, InjectableProviderFactory ipf) { final Set<Class<?>> addedProviders = diff(this.providers, providers); final Set<?> addedProviderInstances = diff(this.providerInstances, providerInstances); this.providers.clear(); this.providers.addAll(providers); this.providerInstances.clear(); this.providerInstances.addAll(providerInstances); final ProviderServices _ps = new ProviderServices(componentProviderFactory, addedProviders, addedProviderInstances); final InjectableProviderFactory _ipf = new InjectableProviderFactory(); _ipf.configureProviders(_ps); ipf.update(_ipf); }
public boolean isAnnotationRegistered(Class<? extends Annotation> ac, Class<?> cc) { for (MetaInjectableProvider i : getList(ac)) { if (i.cc.isAssignableFrom(cc)) { return true; } } return false; }
private Type[] getMetaArguments(Class<? extends InjectableProvider> c) { Class _c = c; while (_c != Object.class) { Type[] ts = _c.getGenericInterfaces(); for (Type t : ts) { if (t instanceof ParameterizedType) { ParameterizedType pt = (ParameterizedType)t; if (pt.getRawType() == InjectableProvider.class) { Type[] args = pt.getActualTypeArguments(); for (int i = 0; i < args.length; i++) args[i] = getResolvedType(args[i], c, _c); if (args[0] instanceof Class && args[1] instanceof Class) return args; } } } _c = _c.getSuperclass(); } return null; }
final InjectableProviderFactory injectableFactory = new InjectableProviderFactory(); injectableFactory.add(new ContextInjectableProvider<FeaturesAndProperties>(FeaturesAndProperties.class, config)); injectableFactory.add(new InjectableProvider<Context, Type>() { public ComponentScope getScope() { return ComponentScope.Singleton; injectableFactory.configure(providerServices); injectableFactory.add(new ContextInjectableProvider<MessageBodyWorkers>( MessageBodyWorkers.class, messageBodyFactory)); injectableFactory.add( new ContextInjectableProvider<Providers>( Providers.class, providers));
public void update(Set<Class<?>> providers, Set<?> providerInstances, InjectableProviderFactory ipf) { final Set<Class<?>> addedProviders = diff(this.providers, providers); final Set<?> addedProviderInstances = diff(this.providerInstances, providerInstances); this.providers.clear(); this.providers.addAll(providers); this.providerInstances.clear(); this.providerInstances.addAll(providerInstances); final ProviderServices _ps = new ProviderServices(componentProviderFactory, addedProviders, addedProviderInstances); final InjectableProviderFactory _ipf = new InjectableProviderFactory(); _ipf.configureProviders(_ps); ipf.update(_ipf); }
@SuppressWarnings("unchecked") public final void add(InjectableProvider ip) { Type[] args = getMetaArguments(ip.getClass()); if (args != null) { MetaInjectableProvider mip = new MetaInjectableProvider(ip, (Class)args[0], (Class)args[1]); // TODO change to add first getList(mip.ac).add(mip); } else { // TODO throw exception or log error } }
public boolean isAnnotationRegistered(Class<? extends Annotation> ac, Class<?> cc) { for (MetaInjectableProvider i : getList(ac)) { if (i.cc.isAssignableFrom(cc)) { return true; } } return false; }
private Type[] getMetaArguments(Class<? extends InjectableProvider> c) { Class _c = c; while (_c != Object.class) { Type[] ts = _c.getGenericInterfaces(); for (Type t : ts) { if (t instanceof ParameterizedType) { ParameterizedType pt = (ParameterizedType)t; if (pt.getRawType() == InjectableProvider.class) { Type[] args = pt.getActualTypeArguments(); for (int i = 0; i < args.length; i++) args[i] = getResolvedType(args[i], c, _c); if (args[0] instanceof Class && args[1] instanceof Class) return args; } } } _c = _c.getSuperclass(); } return null; }
final InjectableProviderFactory injectableFactory = new InjectableProviderFactory(); injectableFactory.add(new ContextInjectableProvider<FeaturesAndProperties>( FeaturesAndProperties.class, config)); injectableFactory.add(new ContextInjectableProvider<ClientConfig>( ClientConfig.class, config)); injectableFactory.add(new ContextInjectableProvider<Client>( Client.class, this)); injectableFactory.configure(providerServices); workers = bodyContext; injectableFactory.add(new ContextInjectableProvider<MessageBodyWorkers>( MessageBodyWorkers.class, bodyContext)); injectableFactory.add( new ContextInjectableProvider<Providers>( Providers.class, this.providers)); injectableFactory.add(new InjectableProvider<Context, Type>() { @Override public ComponentScope getScope() {
public void onAdd(InjectableProvider ip) { add(ip); } });
public final void update(InjectableProviderFactory ipf) { for (Map.Entry<Class<? extends Annotation>, LinkedList<MetaInjectableProvider>> e : ipf.ipm.entrySet()) { getList(e.getKey()).addAll(e.getValue()); } }
public final <A extends Annotation, C> Injectable getInjectable( Class<? extends Annotation> ac, ComponentContext ic, A a, C c, List<ComponentScope> ls) { for (ComponentScope s : ls) { Injectable i = getInjectable(ac, ic, a, c, s); if (i != null) return i; else { } } return null; }
public boolean isInjectableProviderRegistered(Class<? extends Annotation> ac, Class<?> cc, ComponentScope s) { return !findInjectableProviders(ac, cc, s).isEmpty(); }
public void onAdd(InjectableProvider ip) { add(ip); } });
public final void update(InjectableProviderFactory ipf) { for (Map.Entry<Class<? extends Annotation>, LinkedList<MetaInjectableProvider>> e : ipf.ipm.entrySet()) { getList(e.getKey()).addAll(e.getValue()); } }