public <T> T getComponent(final Generic<T> componentType) { for (PicoContainer container : containers) { Object inst = container.getComponent(componentType); if (inst != null) { return (T) inst; } } return null; }
public <T> List<ComponentAdapter<T>> getComponentAdapters(final Generic<T> componentType, final Class<? extends Annotation> binding) { return delegate.getComponentAdapters(componentType, binding); }
public <T> ComponentAdapter<T> getComponentAdapter(final Generic<T> componentType, final NameBinding nameBinding) { for (PicoContainer container : containers) { ComponentAdapter<T> inst = container.getComponentAdapter(componentType, nameBinding); if (inst != null) { return inst; } } return null; }
private <T> ComponentAdapter<T> noMatchingAdaptersFound(final PicoContainer container, final Generic<T> expectedType, final NameBinding expectedNameBinding, final Annotation binding) { if (container.getParent() != null) { if (binding != null) { return container.getParent().getComponentAdapter(expectedType, binding.getClass()); } else { return container.getParent().getComponentAdapter(expectedType, expectedNameBinding); } } else { return null; } }
@Test public void testRegisteredComponentsExistAndAreTheCorrectTypes() throws PicoException { PicoContainer pico = createPicoContainerWithTouchableAndDependsOnTouchable(); assertNotNull("Container should have Touchable addComponent", pico.getComponentAdapter(Touchable.class, (NameBinding) null)); assertNotNull("Container should have DependsOnTouchable addComponent", pico.getComponentAdapter(DependsOnTouchable.class, (NameBinding) null)); assertTrue("Component should be instance of Touchable", pico.getComponent(Touchable.class) != null); assertTrue("Component should be instance of DependsOnTouchable", pico.getComponent(DependsOnTouchable.class) != null); assertNull("should not have non existent addComponent", pico.getComponentAdapter(Map.class, (NameBinding) null)); }
final ComponentAdapter adapter, final Class keyType, final Generic<?> valueType) { final Map<Object, ComponentAdapter<?>> adapterMap = new LinkedHashMap<Object, ComponentAdapter<?>>(); final PicoContainer parent = container.getParent(); if (parent != null) { adapterMap.putAll(getMatchingComponentAdapters(parent, adapter, keyType, valueType)); final Collection<ComponentAdapter<?>> allAdapters = container.getComponentAdapters(); for (final ComponentAdapter componentAdapter : allAdapters) { adapterMap.remove(componentAdapter.getComponentKey()); final List<ComponentAdapter> adapterList = List.class.cast(container.getComponentAdapters(valueType)); for (final ComponentAdapter componentAdapter : adapterList) { final Object key = componentAdapter.getComponentKey();
public <T> List<T> getComponents(final Class<T> type) throws PicoException { return delegate.getComponents(type); }
public <T> T getComponentInto(final Generic<T> componentType, final Type into) { for (PicoContainer container : containers) { T inst = container.getComponentInto(componentType, into); if (inst != null) { return inst; } } return null; }
public PicoContainer getParent() { return delegate.getParent(); }
public final void accept(final PicoVisitor visitor) { // don't visit "this" its pointless. delegate.accept(visitor); }
final ComponentAdapter adapter, final Class keyType, final Generic<?> valueType) { final Map<Object, ComponentAdapter<?>> adapterMap = new LinkedHashMap<Object, ComponentAdapter<?>>(); final PicoContainer parent = container.getParent(); if (parent != null) { adapterMap.putAll(getMatchingComponentAdapters(parent, adapter, keyType, valueType)); final Collection<ComponentAdapter<?>> allAdapters = container.getComponentAdapters(); for (final ComponentAdapter componentAdapter : allAdapters) { adapterMap.remove(componentAdapter.getComponentKey()); final List<ComponentAdapter> adapterList = List.class.cast(container.getComponentAdapters(valueType)); for (final ComponentAdapter componentAdapter : adapterList) { final Object key = componentAdapter.getComponentKey();
public List getComponents() { return delegate.getComponents(); }
private <T> ComponentAdapter<T> noMatchingAdaptersFound(final PicoContainer container, final Generic<T> expectedType, final NameBinding expectedNameBinding, final Annotation binding) { if (container.getParent() != null) { if (binding != null) { return container.getParent().getComponentAdapter(expectedType, binding.getClass()); } else { return container.getParent().getComponentAdapter(expectedType, expectedNameBinding); } } else { return null; } }
public <T> T getComponentInto(final Generic<T> componentType, final Type into) { for (PicoContainer container : containers) { T inst = container.getComponentInto(componentType, into); if (inst != null) { return inst; } } return null; }
public PicoContainer getParent() { return delegate.getParent(); }
public final void accept(final PicoVisitor visitor) { // don't visit "this" its pointless. delegate.accept(visitor); }
public <T> T getComponent(final Generic<T> componentType) { for (PicoContainer container : containers) { Object inst = container.getComponent(componentType); if (inst != null) { return (T) inst; } } return null; }
public <T> List<ComponentAdapter<T>> getComponentAdapters(final Generic<T> componentType) { return delegate.getComponentAdapters(componentType); }
public <T> ComponentAdapter<T> getComponentAdapter(final Generic<T> componentType, final Class<? extends Annotation> binding) { for (PicoContainer container : containers) { ComponentAdapter<T> inst = container.getComponentAdapter(componentType, binding); if (inst != null) { return inst; } } return null; }
public List getComponents() { return delegate.getComponents(); }