private List<ResourceInterceptor> buildFromClass(Class<? extends ResourceInterceptor>[] resourceInterceptorClasses) { List<ResourceInterceptor> resourceInterceptors = new ArrayList<ResourceInterceptor>(); for (Class<? extends ResourceInterceptor> resourceInterceptorClass : resourceInterceptorClasses) { if (defaultResourceInterceptors.containsKey(resourceInterceptorClass)) { resourceInterceptors.add(defaultResourceInterceptors.get(resourceInterceptorClass)); } else { resourceInterceptors.add(plugin.getContainerAccessor().createBean(resourceInterceptorClass)); // todo: we should find a way to autowire from jersey injectables } } return resourceInterceptors; } }
public ModuleDescriptor getModuleDescriptor(final String type) throws PluginParseException { T result = null; if (this.type.equals(type)) { result = plugin.getContainerAccessor().createBean(moduleDescriptorClass); } return result; }
@Override public <T> T autowire(Class<T> tClass, AutowireStrategy autowireStrategy) { return plugin.getContainerAccessor().createBean(tClass); }
public ManifestProducer getManifestProducer() { return ((ContainerManagedPlugin) plugin).getContainerAccessor().createBean(manifestProducerClass); } }
@Override public <T> T autowire(Class<T> tClass) { return plugin.getContainerAccessor().createBean(tClass); }
public ModuleDescriptor getModuleDescriptor(final String type) throws PluginParseException, IllegalAccessException, InstantiationException, ClassNotFoundException { T result = null; if (this.type.equals(type)) { result = plugin.getContainerAccessor().createBean(moduleDescriptorClass); } return result; }
@Override public <T> T createBean(Class<T> clazz) { return theConnectPlugin.getContainerAccessor().createBean(clazz); }
private <T> T create(Class<? extends T> type) { return ((ContainerManagedPlugin) plugin).getContainerAccessor().createBean(type); }
public Object getInstance() { return plugin.getContainerAccessor().createBean(componentClass); }
public ManifestProducer getManifestProducer() { return ((ContainerManagedPlugin) plugin).getContainerAccessor().createBean(manifestProducerClass); } }
public ManifestProducer getManifestProducer() { return ((ContainerManagedPlugin) plugin).getContainerAccessor().createBean(manifestProducerClass); } }
@Override public <T> T createBean(Class<T> clazz) { return theConnectPlugin.getContainerAccessor().createBean(clazz); }
private <T> T autowire(final String className, final Plugin plugin) { try { Class<T> conditionClass = plugin.loadClass(className, getClass()); if (plugin instanceof ContainerManagedPlugin) { return ((ContainerManagedPlugin) plugin).getContainerAccessor().createBean(conditionClass); } else { return hostContainer.create(conditionClass); } } catch (ClassNotFoundException e) { throw new RuntimeException(e); } } }
protected final EntityExpander<?> getEntityExpander(Expander expander) { return plugin.getContainerAccessor().createBean(expander.value()); } }
private <T> T newInstance(final Class<T> type) { if (type == null) { return null; } final T instance = ((ContainerManagedPlugin) plugin).getContainerAccessor().createBean(type); if (instance instanceof StateAware) { ((StateAware) instance).enabled(); } return instance; } }
@Override public synchronized Object getModule() { // We don't cache componentRefs, because if the user wants to use a prototype component, then // caching it would undermine that. It's just a hash map lookup anyway. if (componentRef != null) { return getApplicationContext().getBean(componentRef); } else { if (component == null) { component = ((ContainerManagedPlugin) getPlugin()).getContainerAccessor().createBean(getModuleClass()); } return component; } }
public <T> T createModule(final String name, final ModuleDescriptor<T> moduleDescriptor) throws PluginParseException { final Class<T> cls = getModuleClass(name, moduleDescriptor); final Plugin plugin = moduleDescriptor.getPlugin(); if (plugin instanceof ContainerManagedPlugin) { final ContainerManagedPlugin cmPlugin = (ContainerManagedPlugin) plugin; final ContainerAccessor containerAccessor = checkNotNull(cmPlugin.getContainerAccessor(), "Plugin container accessor is null. Plugin: %s. Module name: %s.", cmPlugin, name); return containerAccessor.createBean(cls); } else if (cls != null) { return hostContainer.create(cls); } return null; }
public static <T> T create(Plugin plugin, Class<?> callingClass, HostContainer hostContainer, String className) throws ClassNotFoundException { Class<T> clazz = plugin.loadClass(className, callingClass); if (plugin instanceof ContainerManagedPlugin) { return ((ContainerManagedPlugin) plugin).getContainerAccessor().createBean(clazz); } else { return hostContainer.create(clazz); } } }
public ContextProvider loadContextProvider(String className, Plugin plugin) throws ConditionLoadingException { try { if (plugin instanceof ContainerManagedPlugin) { Class conditionClass = plugin.loadClass(className, getClass()); return (ContextProvider) ((ContainerManagedPlugin) plugin).getContainerAccessor().createBean(conditionClass); } else { throw new ConditionLoadingException("Plugin " + plugin.getKey() + " is not a ContainerManagedPlugin, could not load context."); } } catch (IllegalArgumentException e) { throw new ConditionLoadingException(e); } catch (ClassNotFoundException e) { throw new ConditionLoadingException(e); } }
@SuppressWarnings("deprecation") @Override protected UserFormat create() { final Plugin plugin = getPlugin(); if (plugin instanceof ContainerManagedPlugin) { return ((ContainerManagedPlugin) plugin).getContainerAccessor().createBean(getModuleClass()); } else { return JiraUtils.loadComponent(getModuleClass(), CollectionBuilder.<Object> list(UserFormatModuleDescriptorImpl.this)); } } };