in webbeans-impl/src/main/java/org/apache/webbeans/portable/AnnotatedTypeImpl.java [254:322]
private State()
{
Constructor<?>[] decCtxs =
getWebBeansContext().getSecurityService().doPrivilegedGetDeclaredConstructors(annotatedClass);
Set<AnnotatedConstructor<X>> constructors = new HashSet<>();
Set<AnnotatedField<? super X>> fields = new HashSet<>();
Set<AnnotatedMethod<? super X>> methods = new HashSet<>();
this.constructors = Collections.unmodifiableSet(constructors);
this.fields = Collections.unmodifiableSet(fields);
this.methods = Collections.unmodifiableSet(methods);
for (Constructor<?> ct : decCtxs)
{
if (!ct.isSynthetic())
{
AnnotatedConstructor<X> ac =
new AnnotatedConstructorImpl<>(getWebBeansContext(), (Constructor<X>) ct,
AnnotatedTypeImpl.this);
constructors.add(ac);
}
}
if (constructors.isEmpty())
{
// must be implicit default constructor
Constructor<X> constructor =
getWebBeansContext().getSecurityService().doPrivilegedGetDeclaredConstructor(annotatedClass);
if (constructor != null)
{
constructors.add(
new AnnotatedConstructorImpl<>(getWebBeansContext(), constructor, AnnotatedTypeImpl.this));
}
}
Field[] decFields = getWebBeansContext().getSecurityService().doPrivilegedGetDeclaredFields(annotatedClass);
for (Field f : decFields)
{
if (!f.isSynthetic())
{
AnnotatedField<X> af = new AnnotatedFieldImpl<>(getWebBeansContext(), f, AnnotatedTypeImpl.this);
fields.add(af);
}
}
Method[] decMethods =
getWebBeansContext().getSecurityService().doPrivilegedGetDeclaredMethods(annotatedClass);
for (Method m : decMethods)
{
if (!m.isSynthetic() && !m.isBridge())
{
AnnotatedMethod<X> am = new AnnotatedMethodImpl<>(getWebBeansContext(), m, AnnotatedTypeImpl.this);
methods.add(am);
}
}
if (supertype != null)
{
for (AnnotatedField<? super X> field: supertype.getFields())
{
fields.add(new AnnotatedFieldImpl<>(getWebBeansContext(), field.getJavaMember(), AnnotatedTypeImpl.this));
}
for (AnnotatedMethod<? super X> method : supertype.getMethods())
{
methods.add(new AnnotatedMethodImpl<>(getWebBeansContext(), method.getJavaMember(), AnnotatedTypeImpl.this));
}
}
}