public void start() { pico = new PicoBuilder() .withCaching() .withLifecycle() .build(); for (Class<?> clazz : classes) { pico.addComponent(clazz); } pico.start(); }
@Override public <T> T getComponentByType(Class<T> type) { return pico.getComponent(type); }
public ComponentContainer addPicoAdapter(ComponentAdapter<?> adapter) { pico.addAdapter(adapter); return this; }
private static void setManager(Project project, CodeStyleManager newManager) { if (newManager != null) { MutablePicoContainer container = (MutablePicoContainer) project.getPicoContainer(); container.unregisterComponent(CODE_STYLE_MANAGER_KEY); container.registerComponentInstance(CODE_STYLE_MANAGER_KEY, newManager); } } }
private PicoLifecycleException newPicoLifecycleException(boolean initialCheckedException) { MutablePicoContainer container = ComponentContainer.createPicoContainer().as(Characteristics.CACHE); if (initialCheckedException) { container.addComponent(CheckedFailureComponent.class); } else { container.addComponent(UncheckedFailureComponent.class); } try { container.start(); return null; } catch (PicoLifecycleException e) { return e; } }
protected void configureContext( org.picocontainer.MutablePicoContainer container) { container.registerComponentInstance(ResourceLocator.class, locator); }; };
public int size() { return pico.getComponentAdapters().size(); }
private static void assertAddedExtensions(ComponentContainer container, Class... classes) { Collection<ComponentAdapter<?>> adapters = container.getPicoContainer().getComponentAdapters(); assertThat(adapters) .hasSize(COMPONENTS_IN_EMPTY_COMPONENT_CONTAINER + classes.length); Stream<Class> installedExtensions = adapters.stream() .map(t -> (Class) t.getComponentImplementation()) .filter(t -> !PropertyDefinitions.class.isAssignableFrom(t) && t != ComponentContainer.class); assertThat(installedExtensions) .contains(classes) .hasSize(classes.length); }
@Override public boolean isLazy(ComponentAdapter<?> adapter) { return adapter.getComponentImplementation().getAnnotation(EagerStart.class) == null; } };
/** * This method MUST NOT be renamed start() because the container is registered itself in picocontainer. Starting * a component twice is not authorized. */ public ComponentContainer startComponents() { try { doBeforeStart(); pico.start(); doAfterStart(); return this; } catch (Exception e) { throw PicoUtils.propagate(e); } }
@Override public <T> List<T> getComponentsByType(Class<T> tClass) { return pico.getComponents(tClass); }
@NotNull protected static MessageBus messageBus(@NotNull MutablePicoContainer appContainer) { return (MessageBus) appContainer.getComponentInstanceOfType(MessageBus.class); }
@Override public Object getComponent(final Object componentKeyOrType, final Class<? extends Annotation> annotation) { try { return super.getComponent(componentKeyOrType, annotation); } catch (Throwable t) { throw new IllegalStateException("Unable to load component " + componentKeyOrType, t); } }
/** * Configures the ows context. * * <p>The following factories are registered: * * <ul> * <li>{@link Ows10Factory} * </ul> */ protected void configureContext(MutablePicoContainer container) { super.configureContext(container); container.registerComponentInstance(Ows10Factory.eINSTANCE); } }
public Object getComponentByKey(Object key) { return pico.getComponent(key); }
private static int sizeOf(ComponentContainer container) { return container.getPicoContainer().getComponentAdapters().size(); } }
public <T> T getInstance(Class<T> type) { return pico.getComponent(type); }
public void verifyConfigurationStandaloneSQ(ComponentContainer container) { Collection<ComponentAdapter<?>> adapters = container.getPicoContainer().getComponentAdapters(); assertThat(adapters) .hasSize(COMPONENTS_IN_EMPTY_COMPONENT_CONTAINER + 12); }
private static void assertAddedExtensions(ComponentContainer container, int addedExtensions) { Collection<ComponentAdapter<?>> adapters = container.getPicoContainer().getComponentAdapters(); assertThat(adapters) .hasSize(COMPONENTS_IN_EMPTY_COMPONENT_CONTAINER + addedExtensions); }