You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwebbeans.apache.org by ar...@apache.org on 2013/01/24 23:28:27 UTC
svn commit: r1438232 - in /openwebbeans/trunk/webbeans-impl/src:
main/java/org/apache/webbeans/component/
main/java/org/apache/webbeans/component/creation/
main/java/org/apache/webbeans/inject/impl/
main/java/org/apache/webbeans/util/ test/java/org/apa...
Author: arne
Date: Thu Jan 24 22:28:27 2013
New Revision: 1438232
URL: http://svn.apache.org/viewvc?rev=1438232&view=rev
Log:
OWB-770: Removed obsolete code
Modified:
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ManagedBean.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/AbstractInjectionTargetBeanBuilder.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/AnnotatedTypeBeanBuilder.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/CdiInterceptorBeanBuilder.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/DecoratorBeanBuilder.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/EjbInterceptorBeanBuilder.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/InterceptorBeanBuilder.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/ManagedBeanBuilder.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/inject/impl/InjectionPointFactory.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansUtil.java
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/TestContext.java
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ManagedBean.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ManagedBean.java?rev=1438232&r1=1438231&r2=1438232&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ManagedBean.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ManagedBean.java Thu Jan 24 22:28:27 2013
@@ -18,8 +18,6 @@
*/
package org.apache.webbeans.component;
-import java.lang.reflect.Constructor;
-
import javax.enterprise.inject.spi.AnnotatedType;
import javax.enterprise.inject.spi.PassivationCapable;
@@ -31,10 +29,7 @@ import org.apache.webbeans.config.WebBea
* @version $Rev$Â $Date$
*/
public class ManagedBean<T> extends InjectionTargetBean<T> implements InterceptedMarker, PassivationCapable
-{
- /** Constructor of the web bean component */
- private Constructor<T> constructor;
-
+{
public ManagedBean(WebBeansContext webBeansContext,
WebBeansType webBeansType,
AnnotatedType<T> annotated,
@@ -43,24 +38,4 @@ public class ManagedBean<T> extends Inje
{
super(webBeansContext, webBeansType, annotated, beanAttributes, beanClass);
}
-
- /**
- * Get constructor.
- *
- * @return constructor
- */
- public Constructor<T> getConstructor()
- {
- return constructor;
- }
-
- /**
- * Set constructor.
- *
- * @param constructor constructor instance
- */
- public void setConstructor(Constructor<T> constructor)
- {
- this.constructor = constructor;
- }
}
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/AbstractInjectionTargetBeanBuilder.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/AbstractInjectionTargetBeanBuilder.java?rev=1438232&r1=1438231&r2=1438232&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/AbstractInjectionTargetBeanBuilder.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/AbstractInjectionTargetBeanBuilder.java Thu Jan 24 22:28:27 2013
@@ -37,7 +37,6 @@ import javax.enterprise.event.Reception;
import javax.enterprise.inject.Disposes;
import javax.enterprise.inject.Produces;
import javax.enterprise.inject.Specializes;
-import javax.enterprise.inject.spi.AnnotatedConstructor;
import javax.enterprise.inject.spi.AnnotatedField;
import javax.enterprise.inject.spi.AnnotatedMethod;
import javax.enterprise.inject.spi.AnnotatedParameter;
@@ -104,68 +103,6 @@ public abstract class AbstractInjectionT
}
return webBeansContext.getAnnotatedElementFactory().getAnnotatedType(superclass);
}
-
- protected AnnotatedConstructor<T> getBeanConstructor()
- {
- Asserts.assertNotNull(annotatedType,"Type is null");
- AnnotatedConstructor<T> result = null;
-
- Set<AnnotatedConstructor<T>> annConsts = annotatedType.getConstructors();
- if(annConsts != null)
- {
- boolean found = false;
- boolean noParamConsIsDefined = false;
- for(AnnotatedConstructor<T> annConst : annConsts)
- {
- if(annConst.isAnnotationPresent(Inject.class))
- {
- if (found)
- {
- throw new WebBeansConfigurationException("There are more than one constructor with @Inject annotation in annotation type : "
- + annotatedType);
- }
-
- found = true;
- result = annConst;
- }
- else
- {
- if(!found && !noParamConsIsDefined)
- {
- List<AnnotatedParameter<T>> parameters = annConst.getParameters();
- if(parameters != null && parameters.isEmpty())
- {
- result = annConst;
- noParamConsIsDefined = true;
- }
- }
- }
- }
- }
-
- if (result == null)
- {
- throw new WebBeansConfigurationException("No constructor is found for the annotated type : " + annotatedType);
- }
-
- List<AnnotatedParameter<T>> parameters = result.getParameters();
- for(AnnotatedParameter<T> parameter : parameters)
- {
- if (parameter.isAnnotationPresent(Disposes.class))
- {
- throw new WebBeansConfigurationException("Constructor parameter annotations can not contain @Disposes annotation in annotated constructor : "
- + result);
- }
-
- if(parameter.isAnnotationPresent(Observes.class))
- {
- throw new WebBeansConfigurationException("Constructor parameter annotations can not contain @Observes annotation in annotated constructor : " + result);
- }
-
- }
-
- return result;
- }
/**
* {@inheritDoc}
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/AnnotatedTypeBeanBuilder.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/AnnotatedTypeBeanBuilder.java?rev=1438232&r1=1438231&r2=1438232&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/AnnotatedTypeBeanBuilder.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/AnnotatedTypeBeanBuilder.java Thu Jan 24 22:28:27 2013
@@ -18,14 +18,12 @@
*/
package org.apache.webbeans.component.creation;
-import java.util.logging.Level;
import java.util.logging.Logger;
import javax.enterprise.inject.spi.AnnotatedType;
import org.apache.webbeans.component.BeanAttributesImpl;
import org.apache.webbeans.component.ManagedBean;
-import org.apache.webbeans.config.OWBLogConst;
import org.apache.webbeans.config.WebBeansContext;
import org.apache.webbeans.logger.WebBeansLoggerFacade;
@@ -37,21 +35,4 @@ public class AnnotatedTypeBeanBuilder<T>
{
super(context, annotatedType, beanAttributes);
}
-
- /**
- * {@inheritDoc}
- */
- @Override
- public void defineConstructor()
- {
- try
- {
- super.defineConstructor();
- }
- catch(Exception e)
- {
- // if no constructor could be found, we just leave the empty set.
- logger.log(Level.INFO, OWBLogConst.WARN_0012, annotatedType.getJavaClass());
- }
- }
}
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/CdiInterceptorBeanBuilder.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/CdiInterceptorBeanBuilder.java?rev=1438232&r1=1438231&r2=1438232&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/CdiInterceptorBeanBuilder.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/CdiInterceptorBeanBuilder.java Thu Jan 24 22:28:27 2013
@@ -49,7 +49,7 @@ public class CdiInterceptorBeanBuilder<T
public void defineCdiInterceptorRules()
{
checkInterceptorConditions();
- defineInterceptorRules();
+ defineInterceptorMethods();
defineInterceptorBindings();
}
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/DecoratorBeanBuilder.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/DecoratorBeanBuilder.java?rev=1438232&r1=1438231&r2=1438232&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/DecoratorBeanBuilder.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/DecoratorBeanBuilder.java Thu Jan 24 22:28:27 2013
@@ -93,12 +93,6 @@ public class DecoratorBeanBuilder<T> ext
return result;
}
-
- public void defineConstructor()
- {
- constructor = getBeanConstructor();
- }
-
/**
* If this method returns <code>false</code> the {@link #getBean()} method must not get called.
*
@@ -163,8 +157,6 @@ public class DecoratorBeanBuilder<T> ext
{
checkDecoratorConditions();
- defineConstructor();
-
defineDecoratedTypes();
}
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/EjbInterceptorBeanBuilder.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/EjbInterceptorBeanBuilder.java?rev=1438232&r1=1438231&r2=1438232&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/EjbInterceptorBeanBuilder.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/EjbInterceptorBeanBuilder.java Thu Jan 24 22:28:27 2013
@@ -22,12 +22,14 @@ package org.apache.webbeans.component.cr
import java.lang.reflect.Method;
import java.util.Map;
+import javax.enterprise.inject.spi.AnnotatedConstructor;
import javax.enterprise.inject.spi.AnnotatedType;
import javax.enterprise.inject.spi.InterceptionType;
import org.apache.webbeans.component.BeanAttributesImpl;
import org.apache.webbeans.component.EjbInterceptorBean;
import org.apache.webbeans.config.WebBeansContext;
+import org.apache.webbeans.exception.WebBeansConfigurationException;
/**
* Bean builder for {@link org.apache.webbeans.component.InterceptorBean}s.
@@ -42,9 +44,9 @@ public class EjbInterceptorBeanBuilder<T
public void defineEjbInterceptorRules()
{
+ checkDefaultConstructor();
checkInterceptorConditions();
- defineInterceptorRules();
-
+ defineInterceptorMethods();
}
public boolean isInterceptorEnabled()
@@ -52,6 +54,18 @@ public class EjbInterceptorBeanBuilder<T
return true;
}
+ public void checkDefaultConstructor()
+ {
+ for (AnnotatedConstructor<T> constructor: annotatedType.getConstructors())
+ {
+ if (constructor.getParameters().isEmpty())
+ {
+ return;
+ }
+ }
+ throw new WebBeansConfigurationException("@Interceptors interceptor must have no-arg constructor, but " + annotatedType.getJavaClass() + " has not");
+ }
+
@Override
protected EjbInterceptorBean<T> createBean(Class<T> beanClass, boolean enabled, Map<InterceptionType, Method[]> interceptionMethods)
{
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/InterceptorBeanBuilder.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/InterceptorBeanBuilder.java?rev=1438232&r1=1438231&r2=1438232&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/InterceptorBeanBuilder.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/InterceptorBeanBuilder.java Thu Jan 24 22:28:27 2013
@@ -21,7 +21,6 @@ package org.apache.webbeans.component.cr
import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
import javax.enterprise.inject.Produces;
-import javax.enterprise.inject.spi.AnnotatedConstructor;
import javax.enterprise.inject.spi.AnnotatedMethod;
import javax.enterprise.inject.spi.AnnotatedParameter;
import javax.enterprise.inject.spi.AnnotatedType;
@@ -57,8 +56,6 @@ public abstract class InterceptorBeanBui
private final Class<? extends Annotation> prePassivateClass;
private final Class<? extends Annotation> postActivateClass;
- private AnnotatedConstructor<T> constructor;
-
private Map<InterceptionType, Method[]> interceptionMethods;
protected InterceptorBeanBuilder(WebBeansContext webBeansContext, AnnotatedType<T> annotatedType, BeanAttributesImpl<T> beanAttributes)
@@ -77,21 +74,6 @@ public abstract class InterceptorBeanBui
}
}
- public void defineConstructor()
- {
- constructor = getBeanConstructor();
- }
-
-
- protected void addConstructorInjectionPointMetaData(B bean)
- {
- if (constructor == null)
- {
- return;
- }
- bean.setConstructor(constructor.getJavaMember());
- }
-
/**
* If this method returns <code>false</code> the {@link #getBean()} method must not get called.
*
@@ -118,12 +100,6 @@ public abstract class InterceptorBeanBui
}
}
- protected void defineInterceptorRules()
- {
- defineConstructor();
- defineInterceptorMethods();
- }
-
/**
* <p>Grab all methods which act as interceptors for the various
* {@link javax.enterprise.inject.spi.InterceptionType}s.</p>
@@ -344,8 +320,6 @@ public abstract class InterceptorBeanBui
@Override
protected B createBean(Class<T> beanClass, boolean enabled)
{
- B bean = createBean(beanClass, enabled, interceptionMethods);
- addConstructorInjectionPointMetaData(bean);
- return bean;
+ return createBean(beanClass, enabled, interceptionMethods);
}
}
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/ManagedBeanBuilder.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/ManagedBeanBuilder.java?rev=1438232&r1=1438231&r2=1438232&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/ManagedBeanBuilder.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/ManagedBeanBuilder.java Thu Jan 24 22:28:27 2013
@@ -22,7 +22,6 @@ import java.util.List;
import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
-import javax.enterprise.inject.spi.AnnotatedConstructor;
import javax.enterprise.inject.spi.AnnotatedMethod;
import javax.enterprise.inject.spi.AnnotatedType;
@@ -42,8 +41,6 @@ import org.apache.webbeans.util.WebBeans
*/
public class ManagedBeanBuilder<T, M extends ManagedBean<T>> extends AbstractInjectionTargetBeanBuilder<T, M>
{
- private AnnotatedConstructor<T> constructor;
-
/**
* Creates a new creator.
*/
@@ -52,11 +49,6 @@ public class ManagedBeanBuilder<T, M ext
super(webBeansContext, annotatedType, beanAttributes);
}
- public void defineConstructor()
- {
- constructor = getBeanConstructor();
- }
-
/**
* {@inheritDoc}
*/
@@ -66,7 +58,6 @@ public class ManagedBeanBuilder<T, M ext
webBeansContext.getWebBeansUtil().checkManagedBeanCondition(annotatedType);
WebBeansUtil.checkGenericType(annotatedType.getJavaClass(), beanAttributes.getScope());
webBeansContext.getDeploymentValidationService().validateProxyable(bean);
- addConstructorInjectionPointMetaData(bean);
return bean;
}
@@ -76,8 +67,6 @@ public class ManagedBeanBuilder<T, M ext
//Check for Enabled via Alternative
defineEnabled();
- defineConstructor();
-
return getBean();
}
@@ -93,16 +82,6 @@ public class ManagedBeanBuilder<T, M ext
return webBeansContext.getInterceptorUtil().getLifecycleMethods(annotatedType, PreDestroy.class, false);
}
- protected void addConstructorInjectionPointMetaData(ManagedBean<T> bean)
- {
- if (constructor == null)
- {
- return;
- }
- bean.setConstructor(constructor.getJavaMember());
- }
-
-
@Override
protected M createBean(Class<T> beanClass, boolean enabled)
{
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/inject/impl/InjectionPointFactory.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/inject/impl/InjectionPointFactory.java?rev=1438232&r1=1438231&r2=1438232&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/inject/impl/InjectionPointFactory.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/inject/impl/InjectionPointFactory.java Thu Jan 24 22:28:27 2013
@@ -63,10 +63,18 @@ public class InjectionPointFactory
public <X> Set<InjectionPoint> buildInjectionPoints(Bean<X> owner, AnnotatedType<X> annotatedType)
{
Set<InjectionPoint> injectionPoints = new HashSet<InjectionPoint>();
+ boolean constructorFound = false;
for (AnnotatedConstructor<X> constructor: annotatedType.getConstructors())
{
if (constructor.isAnnotationPresent(Inject.class))
{
+ if (constructorFound)
+ {
+ throw new WebBeansConfigurationException("There are more than one constructor with @Inject annotation in annotation type : "
+ + annotatedType);
+ }
+ constructorFound = true;
+ validateInitializerConstructor(constructor);
buildInjectionPoints(owner, constructor, injectionPoints);
}
}
@@ -89,7 +97,7 @@ public class InjectionPointFactory
{
if (method.isAnnotationPresent(Inject.class) && !Modifier.isStatic(method.getJavaMember().getModifiers()))
{
- checkForInjectedInitializerMethod(method);
+ validateInitializerMethod(method);
buildInjectionPoints(owner, method, injectionPoints);
}
}
@@ -156,10 +164,26 @@ public class InjectionPointFactory
return new InjectionPointImpl(owner, type, Arrays.asList(bindings), parameter);
}
+ private void validateInitializerConstructor(AnnotatedConstructor<?> constructor)
+ {
+ for (AnnotatedParameter<?> parameter: constructor.getParameters())
+ {
+ if (parameter.isAnnotationPresent(Disposes.class))
+ {
+ throw new WebBeansConfigurationException("Constructor parameter annotations can not contain @Disposes annotation in annotated constructor : " + constructor);
+ }
+
+ if(parameter.isAnnotationPresent(Observes.class))
+ {
+ throw new WebBeansConfigurationException("Constructor parameter annotations can not contain @Observes annotation in annotated constructor : " + constructor);
+ }
+ }
+ }
+
/**
* add the definitions for a @Initializer method.
*/
- private void checkForInjectedInitializerMethod(AnnotatedMethod<?> annotatedMethod)
+ private void validateInitializerMethod(AnnotatedMethod<?> annotatedMethod)
{
Method method = annotatedMethod.getJavaMember();
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansUtil.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansUtil.java?rev=1438232&r1=1438231&r2=1438232&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansUtil.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansUtil.java Thu Jan 24 22:28:27 2013
@@ -436,7 +436,6 @@ public final class WebBeansUtil
BeanAttributesImpl<T> newBeanAttributes = new BeanAttributesImpl<T>(defaultBeanAttributes.getTypes(), Collections.<Annotation>singleton(new NewLiteral(type)));
// TODO replace this by InjectionPointBuilder
ManagedBeanBuilder<T, ManagedBean<T>> beanBuilder = new ManagedBeanBuilder<T, ManagedBean<T>>(webBeansContext, annotatedType, newBeanAttributes);
- beanBuilder.defineConstructor();
NewManagedBean<T> newBean
= new NewManagedBean<T>(webBeansContext, WebBeansType.MANAGED, annotatedType, newBeanAttributes, type, beanBuilder.getBean().getInjectionPoints());
return newBean;
@@ -1599,7 +1598,6 @@ public final class WebBeansUtil
//Check for Enabled via Alternative
setInjectionTargetBeanEnableFlag(managedBeanCreator.getBean());
- managedBeanCreator.defineConstructor();
ManagedBean<T> managedBean = managedBeanCreator.getBean();
managedBeanCreator.defineProducerMethods(managedBean);
managedBeanCreator.defineProducerFields(managedBean);
@@ -1730,7 +1728,6 @@ public final class WebBeansUtil
//Check for Enabled via Alternative
managedBeanCreator.defineEnabled();
- managedBeanCreator.defineConstructor();
ManagedBean<T> managedBean = managedBeanCreator.getBean();
managedBeanCreator.defineProducerMethods(managedBean);
managedBeanCreator.defineProducerFields(managedBean);
Modified: openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/TestContext.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/TestContext.java?rev=1438232&r1=1438231&r2=1438232&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/TestContext.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/test/TestContext.java Thu Jan 24 22:28:27 2013
@@ -526,7 +526,6 @@ public abstract class TestContext implem
BeanAttributesImpl<T> beanAttributes = BeanAttributesBuilder.forContext(getWebBeansContext()).newBeanAttibutes(annotatedType).build();
ManagedBeanBuilder<T, ManagedBean<T>> managedBeanCreator = new ManagedBeanBuilder<T, ManagedBean<T>>(webBeansContext, annotatedType, beanAttributes);
managedBeanCreator.defineEnabled();
- managedBeanCreator.defineConstructor();
ManagedBean<T> component = managedBeanCreator.getBean();
List<AnnotatedMethod<?>> postConstructMethods
= webBeansContext.getInterceptorUtil().getLifecycleMethods(component.getAnnotatedType(), PostConstruct.class, true);