/** * {@inheritDoc} */ @Override public <T> T get(Contextual<T> contextual, CreationalContext<T> creationalContext) { checkActive(); return getInstance(contextual, creationalContext); }
/** * Creates a new context with given scope type. * * @param scopeType context scope type */ protected AbstractContext(Class<? extends Annotation> scopeType) { this.scopeType = scopeType; setComponentInstanceMap(); }
public CdiAppContextsService(final WebBeansContext wbc, final boolean supportsConversation) { if (wbc != null) { webBeansContext = wbc; } else { webBeansContext = WebBeansContext.currentInstance(); } dependentContext.setActive(true); if (supportsConversation) { conversationContext = new ThreadLocal<ConversationContext>(); } else { conversationContext = null; } applicationContext.setActive(true); singletonContext.setActive(true); }
@Override protected void createSingletonContext() { singletonContext = new SingletonContext(); singletonContext.setActive(true); }
protected void destroyGlobalContexts() { if (applicationContext != null) { applicationContext.destroy(); applicationContext.destroySystemBeans(); } }
@Override protected void destroySingletonContext() { singletonContext.destroy(); } }
@Override public void destroy() { super.destroy(); servletRequest = null; }
private void initSingletonContext() { singletonContext.setActive(true); }
private void initApplicationContext() { // in case contexts are stop/start applicationContext.setActive(true); }
private void destroyApplicationContext() { applicationContext.destroy(); }
@Override public void setActive(AbstractContext context) { context.setActive(true); }
@Override public void destroyContext(AbstractContext context) { context.destroy(); }
private Context getCurrentDependentContext() { if(dependentContext.get() == null) { dependentContext.set(new DependentContext()); } return dependentContext.get(); }
@Override public void destroy(Contextual<?> contextual) { destroyInstance(contextual); }
@Override public Context getCurrentContext(Class<? extends Annotation> scopeType, boolean createIfNotExists) { // by default behaves the same return getCurrentContext(scopeType); }
@Override public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException { this.conversation = (ConversationImpl) in.readObject(); super.readExternal(in); }
@Override public void destroy(Contextual<?> contextual) { super.destroy(contextual); SessionScopedBeanInterceptorHandler.removeThreadLocals(); } }
private void destroySingletonContext() { singletonContext.destroy(); }
@Override public void setInactive(AbstractContext context) { context.setActive(false); }