public SingletonGenerator(
      String ejbName,
      AnnotatedType<X> ejbClass,
      ArrayList<AnnotatedType<? super X>> localApi,
      AnnotatedType<X> localBean,
      ArrayList<AnnotatedType<? super X>> remoteApi) {
    super(ejbName, ejbClass, localApi, localBean, remoteApi, Singleton.class.getSimpleName());

    InjectManager manager = InjectManager.create();

    _aspectBeanFactory = new SingletonAspectBeanFactory<X>(manager, getBeanType());
    _lifecycleAspectFactory =
        new LifecycleAspectBeanFactory<X>(_aspectBeanFactory, manager, getBeanType());
  }
  public static Object generateDelegate(List<Decorator> beans, Object tail) {
    InjectManager webBeans = InjectManager.create();

    Bean parentBean = null;
    CreationalContext env = webBeans.createCreationalContext(parentBean);

    for (int i = beans.size() - 1; i >= 0; i--) {
      Decorator bean = beans.get(i);

      Object instance = webBeans.getReference(bean, bean.getBeanClass(), env);

      // XXX:
      // bean.setDelegate(instance, tail);

      tail = instance;
    }

    return tail;
  }
Beispiel #3
0
  /** Override init to handle value */
  @Override
  @PostConstruct
  public void init() {
    if (_valueName != null) {
      InjectManager webBeans = InjectManager.create();

      Set<Bean<?>> beans = webBeans.getBeans(_valueName);

      if (beans.size() > 0) {
        _bean = beans.iterator().next();
      }

      if (_bean == null) {
        _value = Jndi.lookup(_valueName);
      }

      if (_bean == null && _value == null)
        throw new ConfigException(L.l("'{0}' is an unknown bean", _valueName));
    } else if (getClassType() != null) super.init();
    else {
      // ioc/2130
    }
  }
 protected BeanManager getBeanManager() {
   return InjectManager.create();
 }