[webbeans-commits] Webbeans SVN: r2828 - in ri/trunk: impl/src/main/java/org/jboss/webbeans/bean and 14 other directories.
webbeans-commits at lists.jboss.org
webbeans-commits at lists.jboss.org
Fri Jun 12 18:38:33 EDT 2009
Author: pete.muir at jboss.org
Date: 2009-06-12 18:38:33 -0400 (Fri, 12 Jun 2009)
New Revision: 2828
Added:
ri/trunk/impl/src/main/java/org/jboss/webbeans/injection/WBInjectionPoint.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/injection/resolution/ResolvableWBClass.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingWBAnnotated.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingWBAnnotation.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingWBClass.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingWBConstructor.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingWBField.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingWBMember.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingWBMethod.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingWBParameter.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingWBType.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WBAnnotated.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WBAnnotation.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WBClass.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WBConstructor.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WBField.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WBMember.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WBMethod.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WBParameter.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WBType.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WrappedWBClass.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WrappedWBField.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WrappedWBMethod.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WrappedWBParameter.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractWBAnnotated.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractWBMember.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractWBType.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/WBAnnotationImpl.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/WBClassImpl.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/WBConstructorImpl.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/WBFieldImpl.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/WBMethodImpl.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/WBParameterImpl.java
Removed:
ri/trunk/impl/src/main/java/org/jboss/webbeans/injection/AnnotatedInjectionPoint.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/injection/resolution/ResolvableAnnotatedClass.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/AnnotatedAnnotation.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/AnnotatedClass.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/AnnotatedConstructor.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/AnnotatedField.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/AnnotatedItem.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/AnnotatedMember.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/AnnotatedMethod.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/AnnotatedParameter.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/AnnotatedType.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingAnnotatedAnnotation.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingAnnotatedClass.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingAnnotatedConstructor.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingAnnotatedField.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingAnnotatedItem.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingAnnotatedMember.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingAnnotatedMethod.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingAnnotatedParameter.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingAnnotatedType.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WrappedAnnotatedClass.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WrappedAnnotatedField.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WrappedAnnotatedMethod.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WrappedAnnotatedParameter.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractAnnotatedItem.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractAnnotatedMember.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractAnnotatedType.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedAnnotationImpl.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedClassImpl.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedConstructorImpl.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedFieldImpl.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedMethodImpl.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedParameterImpl.java
Modified:
ri/trunk/impl/src/main/java/org/jboss/webbeans/BeanManagerImpl.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/BeanValidator.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/InstanceImpl.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/AbstractBean.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/AbstractClassBean.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/AbstractProducerBean.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/DecoratorBean.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/DisposalMethodBean.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/EnterpriseBean.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/NewEnterpriseBean.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/NewSimpleBean.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/ProducerFieldBean.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/ProducerMethodBean.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/RIBean.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/SimpleBean.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/ee/AbstractJavaEEResourceBean.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/standard/AbstractStandardBean.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/bootstrap/BeanDeployer.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/bootstrap/BeanDeployerEnvironment.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/event/ObserverFactory.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/event/ObserverImpl.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/event/TransactionalObserverImpl.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/injection/AnnotatedAdaptor.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/injection/ConstructorInjectionPoint.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/injection/FieldInjectionPoint.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/injection/MethodInjectionPoint.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/injection/ParameterInjectionPoint.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/injection/resolution/ResolvableFactory.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/injection/resolution/Resolver.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/AnnotationStore.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/ConstructorSignatureImpl.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/MethodSignatureImpl.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/metadata/AnnotationModel.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/metadata/BindingTypeModel.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/resources/ClassTransformer.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/util/Beans.java
ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/implementation/NewEnterpriseBeanTest.java
ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/implementation/annotatedItem/ClassAnnotatedItemTest.java
ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/implementation/newsimple/NewSimpleBeanTest.java
Log:
Rename Annotated*
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/BeanManagerImpl.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/BeanManagerImpl.java 2009-06-12 22:30:21 UTC (rev 2827)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/BeanManagerImpl.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -80,10 +80,10 @@
import org.jboss.webbeans.event.EventObserver;
import org.jboss.webbeans.event.ObserverImpl;
import org.jboss.webbeans.injection.NonContextualInjector;
-import org.jboss.webbeans.injection.resolution.ResolvableAnnotatedClass;
+import org.jboss.webbeans.injection.resolution.ResolvableWBClass;
import org.jboss.webbeans.injection.resolution.ResolvableFactory;
import org.jboss.webbeans.injection.resolution.Resolver;
-import org.jboss.webbeans.introspector.AnnotatedItem;
+import org.jboss.webbeans.introspector.WBAnnotated;
import org.jboss.webbeans.log.Log;
import org.jboss.webbeans.log.Logging;
import org.jboss.webbeans.manager.api.WebBeansManager;
@@ -450,10 +450,10 @@
public Set<Bean<?>> getBeans(Type beanType, Annotation... bindings)
{
- return getBeans(ResolvableAnnotatedClass.of(beanType, bindings, this), bindings);
+ return getBeans(ResolvableWBClass.of(beanType, bindings, this), bindings);
}
- public Set<Bean<?>> getBeans(AnnotatedItem<?, ?> element, Annotation... bindings)
+ public Set<Bean<?>> getBeans(WBAnnotated<?, ?> element, Annotation... bindings)
{
for (Annotation annotation : element.getAnnotations())
{
@@ -490,7 +490,7 @@
currentInjectionPoint.get().push(injectionPoint);
}
// TODO Do this properly
- return getBeans(ResolvableAnnotatedClass.of(injectionPoint.getType(), injectionPoint.getBindings().toArray(new Annotation[0]), this));
+ return getBeans(ResolvableWBClass.of(injectionPoint.getType(), injectionPoint.getBindings().toArray(new Annotation[0]), this));
}
finally
{
@@ -743,7 +743,7 @@
{
currentInjectionPoint.get().push(injectionPoint);
}
- AnnotatedItem<?, ?> element = ResolvableAnnotatedClass.of(injectionPoint.getType(), injectionPoint.getBindings().toArray(new Annotation[0]), this);
+ WBAnnotated<?, ?> element = ResolvableWBClass.of(injectionPoint.getType(), injectionPoint.getBindings().toArray(new Annotation[0]), this);
Bean<?> resolvedBean = getBean(element, element.getBindingsAsArray());
if (getServices().get(MetaDataCache.class).getScopeModel(resolvedBean.getScopeType()).isNormal() && !Proxies.isTypeProxyable(injectionPoint.getType()))
{
@@ -788,11 +788,11 @@
@Deprecated
public <T> T getInstanceByType(Class<T> type, Annotation... bindings)
{
- AnnotatedItem<T, ?> element = ResolvableAnnotatedClass.of(type, bindings, this);
+ WBAnnotated<T, ?> element = ResolvableWBClass.of(type, bindings, this);
return (T) getReference(getBean(element, bindings), type);
}
- public <T> Bean<T> getBean(AnnotatedItem<T, ?> element, Annotation... bindings)
+ public <T> Bean<T> getBean(WBAnnotated<T, ?> element, Annotation... bindings)
{
Set<Bean<?>> beans = getBeans(element, bindings);
if (beans.size() == 0)
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/BeanValidator.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/BeanValidator.java 2009-06-12 22:30:21 UTC (rev 2827)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/BeanValidator.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -45,8 +45,8 @@
import org.jboss.webbeans.bean.NewEnterpriseBean;
import org.jboss.webbeans.bean.NewSimpleBean;
import org.jboss.webbeans.bean.RIBean;
-import org.jboss.webbeans.injection.resolution.ResolvableAnnotatedClass;
-import org.jboss.webbeans.introspector.AnnotatedItem;
+import org.jboss.webbeans.injection.resolution.ResolvableWBClass;
+import org.jboss.webbeans.introspector.WBAnnotated;
import org.jboss.webbeans.metadata.MetaDataCache;
import org.jboss.webbeans.util.Beans;
import org.jboss.webbeans.util.ListComparator;
@@ -104,7 +104,7 @@
checkFacadeInjectionPoint(injectionPoint, Obtains.class, Instance.class);
checkFacadeInjectionPoint(injectionPoint, Any.class, Event.class);
Annotation[] bindings = injectionPoint.getBindings().toArray(new Annotation[0]);
- AnnotatedItem<?, ?> annotatedItem = ResolvableAnnotatedClass.of(injectionPoint.getType(), bindings, manager);
+ WBAnnotated<?, ?> annotatedItem = ResolvableWBClass.of(injectionPoint.getType(), bindings, manager);
Set<?> resolvedBeans = manager.getBeans(injectionPoint);
if (resolvedBeans.isEmpty())
{
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/InstanceImpl.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/InstanceImpl.java 2009-06-12 22:30:21 UTC (rev 2827)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/InstanceImpl.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -24,7 +24,7 @@
import javax.enterprise.inject.Instance;
import javax.enterprise.inject.spi.Bean;
-import org.jboss.webbeans.injection.resolution.ResolvableAnnotatedClass;
+import org.jboss.webbeans.injection.resolution.ResolvableWBClass;
/**
* Helper implementation for Instance for getting instances
@@ -51,7 +51,7 @@
public T get(Annotation... bindings)
{
Annotation[] annotations = mergeInBindings(bindings);
- Bean<T> bean = getManager().getBean(ResolvableAnnotatedClass.<T>of(getType(), annotations, getManager()), annotations);
+ Bean<T> bean = getManager().getBean(ResolvableWBClass.<T>of(getType(), annotations, getManager()), annotations);
@SuppressWarnings("unchecked")
T instance = (T) getManager().getReference(bean, getType());
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/AbstractBean.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/AbstractBean.java 2009-06-12 22:30:21 UTC (rev 2827)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/AbstractBean.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -39,10 +39,10 @@
import org.jboss.webbeans.bootstrap.BeanDeployerEnvironment;
import org.jboss.webbeans.context.DependentInstancesStore;
import org.jboss.webbeans.conversation.ConversationImpl;
-import org.jboss.webbeans.injection.AnnotatedInjectionPoint;
-import org.jboss.webbeans.introspector.AnnotatedField;
-import org.jboss.webbeans.introspector.AnnotatedItem;
-import org.jboss.webbeans.introspector.AnnotatedParameter;
+import org.jboss.webbeans.injection.WBInjectionPoint;
+import org.jboss.webbeans.introspector.WBField;
+import org.jboss.webbeans.introspector.WBAnnotated;
+import org.jboss.webbeans.introspector.WBParameter;
import org.jboss.webbeans.literal.AnyLiteral;
import org.jboss.webbeans.literal.CurrentLiteral;
import org.jboss.webbeans.log.LogProvider;
@@ -112,7 +112,7 @@
// The API types
protected Set<Type> types;
// The injection points
- protected Set<AnnotatedInjectionPoint<?, ?>> injectionPoints;
+ protected Set<WBInjectionPoint<?, ?>> injectionPoints;
// If the type a primitive?
private boolean primitive;
// The Web Beans manager
@@ -122,7 +122,7 @@
private boolean initialized;
- private Set<AnnotatedInjectionPoint<?, ?>> decoratesInjectionPoint;
+ private Set<WBInjectionPoint<?, ?>> decoratesInjectionPoint;
protected boolean isInitialized()
{
@@ -138,7 +138,7 @@
{
super(manager);
this.manager = manager;
- injectionPoints = new HashSet<AnnotatedInjectionPoint<?, ?>>();
+ injectionPoints = new HashSet<WBInjectionPoint<?, ?>>();
dependentInstancesStore = new DependentInstancesStore();
}
@@ -181,8 +181,8 @@
protected void initDecorates()
{
- this.decoratesInjectionPoint = new HashSet<AnnotatedInjectionPoint<?,?>>();
- for (AnnotatedInjectionPoint<?, ?> injectionPoint : getAnnotatedInjectionPoints())
+ this.decoratesInjectionPoint = new HashSet<WBInjectionPoint<?,?>>();
+ for (WBInjectionPoint<?, ?> injectionPoint : getAnnotatedInjectionPoints())
{
if (injectionPoint.isAnnotationPresent(Decorates.class))
{
@@ -191,7 +191,7 @@
}
}
- protected Set<AnnotatedInjectionPoint<?, ?>> getDecoratesInjectionPoint()
+ protected Set<WBInjectionPoint<?, ?>> getDecoratesInjectionPoint()
{
return decoratesInjectionPoint;
}
@@ -297,13 +297,13 @@
private boolean checkInjectionPointsAreSerializable()
{
boolean passivating = manager.getServices().get(MetaDataCache.class).getScopeModel(this.getScopeType()).isPassivating();
- for (AnnotatedInjectionPoint<?, ?> injectionPoint : getAnnotatedInjectionPoints())
+ for (WBInjectionPoint<?, ?> injectionPoint : getAnnotatedInjectionPoints())
{
Annotation[] bindings = injectionPoint.getMetaAnnotationsAsArray(BindingType.class);
Bean<?> resolvedBean = manager.getBeans(injectionPoint.getRawType(), bindings).iterator().next();
if (passivating)
{
- if (Dependent.class.equals(resolvedBean.getScopeType()) && !resolvedBean.isSerializable() && (((injectionPoint instanceof AnnotatedField) && !((AnnotatedField<?>) injectionPoint).isTransient()) || (injectionPoint instanceof AnnotatedParameter)) )
+ if (Dependent.class.equals(resolvedBean.getScopeType()) && !resolvedBean.isSerializable() && (((injectionPoint instanceof WBField) && !((WBField<?>) injectionPoint).isTransient()) || (injectionPoint instanceof WBParameter)) )
{
return false;
}
@@ -398,7 +398,7 @@
*
* @return The annotated item
*/
- protected abstract AnnotatedItem<T, E> getAnnotatedItem();
+ protected abstract WBAnnotated<T, E> getAnnotatedItem();
/**
* Gets the binding types
@@ -435,7 +435,7 @@
}
@Override
- public Set<AnnotatedInjectionPoint<?, ?>> getAnnotatedInjectionPoints()
+ public Set<WBInjectionPoint<?, ?>> getAnnotatedInjectionPoints()
{
return injectionPoints;
}
@@ -504,7 +504,7 @@
* @param annotatedItem The other annotation to check
* @return True if assignable, otherwise false
*/
- public boolean isAssignableFrom(AnnotatedItem<?, ?> annotatedItem)
+ public boolean isAssignableFrom(WBAnnotated<?, ?> annotatedItem)
{
return this.getAnnotatedItem().isAssignableFrom(annotatedItem);
}
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/AbstractClassBean.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/AbstractClassBean.java 2009-06-12 22:30:21 UTC (rev 2827)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/AbstractClassBean.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -37,9 +37,9 @@
import org.jboss.webbeans.injection.FieldInjectionPoint;
import org.jboss.webbeans.injection.MethodInjectionPoint;
import org.jboss.webbeans.injection.ParameterInjectionPoint;
-import org.jboss.webbeans.introspector.AnnotatedClass;
-import org.jboss.webbeans.introspector.AnnotatedMethod;
-import org.jboss.webbeans.introspector.AnnotatedParameter;
+import org.jboss.webbeans.introspector.WBClass;
+import org.jboss.webbeans.introspector.WBMethod;
+import org.jboss.webbeans.introspector.WBParameter;
import org.jboss.webbeans.log.LogProvider;
import org.jboss.webbeans.log.Logging;
import org.jboss.webbeans.util.Beans;
@@ -58,7 +58,7 @@
// Logger
private static final LogProvider log = Logging.getLogProvider(AbstractClassBean.class);
// The item representation
- protected AnnotatedClass<T> annotatedItem;
+ protected WBClass<T> annotatedItem;
// The injectable fields
private Set<FieldInjectionPoint<?>> injectableFields;
// The initializer methods
@@ -73,7 +73,7 @@
* @param type The type
* @param manager The Web Beans manager
*/
- protected AbstractClassBean(AnnotatedClass<T> type, BeanManagerImpl manager)
+ protected AbstractClassBean(WBClass<T> type, BeanManagerImpl manager)
{
super(manager);
this.annotatedItem = type;
@@ -139,9 +139,9 @@
{
injectableFields = new HashSet<FieldInjectionPoint<?>>(Beans.getFieldInjectionPoints(annotatedItem, this));
super.injectionPoints.addAll(injectableFields);
- for (AnnotatedMethod<?> initializer : getInitializerMethods())
+ for (WBMethod<?> initializer : getInitializerMethods())
{
- for (AnnotatedParameter<?> parameter : initializer.getParameters())
+ for (WBParameter<?> parameter : initializer.getParameters())
{
injectionPoints.add(ParameterInjectionPoint.of(this, parameter));
}
@@ -154,7 +154,7 @@
protected void initInitializerMethods()
{
initializerMethods = new HashSet<MethodInjectionPoint<?>>();
- for (AnnotatedMethod<?> method : annotatedItem.getAnnotatedMethods(Initializer.class))
+ for (WBMethod<?> method : annotatedItem.getAnnotatedMethods(Initializer.class))
{
if (method.isStatic())
{
@@ -182,7 +182,7 @@
@Override
protected void initScopeType()
{
- for (AnnotatedClass<?> clazz = getAnnotatedItem(); clazz != null; clazz = clazz.getSuperclass())
+ for (WBClass<?> clazz = getAnnotatedItem(); clazz != null; clazz = clazz.getSuperclass())
{
Set<Annotation> scopeTypes = clazz.getDeclaredMetaAnnotations(ScopeType.class);
scopeTypes = clazz.getDeclaredMetaAnnotations(ScopeType.class);
@@ -216,7 +216,7 @@
@Override
protected void initDeploymentType()
{
- for (AnnotatedClass<?> clazz = getAnnotatedItem(); clazz != null; clazz = clazz.getSuperclass())
+ for (WBClass<?> clazz = getAnnotatedItem(); clazz != null; clazz = clazz.getSuperclass())
{
Set<Annotation> deploymentTypes = clazz.getDeclaredMetaAnnotations(DeploymentType.class);
if (deploymentTypes.size() == 1)
@@ -284,7 +284,7 @@
* @return The annotated item
*/
@Override
- public AnnotatedClass<T> getAnnotatedItem()
+ public WBClass<T> getAnnotatedItem()
{
return annotatedItem;
}
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/AbstractProducerBean.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/AbstractProducerBean.java 2009-06-12 22:30:21 UTC (rev 2827)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/AbstractProducerBean.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -43,7 +43,7 @@
import org.jboss.webbeans.context.CreationalContextImpl;
import org.jboss.webbeans.context.DependentContext;
import org.jboss.webbeans.context.DependentStorageRequest;
-import org.jboss.webbeans.introspector.AnnotatedMember;
+import org.jboss.webbeans.introspector.WBMember;
import org.jboss.webbeans.log.LogProvider;
import org.jboss.webbeans.log.Logging;
import org.jboss.webbeans.metadata.MetaDataCache;
@@ -79,7 +79,7 @@
}
@Override
- protected abstract AnnotatedMember<T, S> getAnnotatedItem();
+ protected abstract WBMember<T, S> getAnnotatedItem();
/**
* Gets the deployment types
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/DecoratorBean.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/DecoratorBean.java 2009-06-12 22:30:21 UTC (rev 2827)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/DecoratorBean.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -14,10 +14,10 @@
import org.jboss.webbeans.BeanManagerImpl;
import org.jboss.webbeans.bootstrap.BeanDeployerEnvironment;
-import org.jboss.webbeans.injection.AnnotatedInjectionPoint;
+import org.jboss.webbeans.injection.WBInjectionPoint;
import org.jboss.webbeans.injection.MethodInjectionPoint;
-import org.jboss.webbeans.introspector.AnnotatedClass;
-import org.jboss.webbeans.introspector.AnnotatedItem;
+import org.jboss.webbeans.introspector.WBClass;
+import org.jboss.webbeans.introspector.WBAnnotated;
public class DecoratorBean<T> extends SimpleBean<T> implements Decorator<T>
{
@@ -56,17 +56,17 @@
* @param manager the current manager
* @return a Bean
*/
- public static <T> DecoratorBean<T> of(AnnotatedClass<T> clazz, BeanManagerImpl manager)
+ public static <T> DecoratorBean<T> of(WBClass<T> clazz, BeanManagerImpl manager)
{
return new DecoratorBean<T>(clazz, manager);
}
- private AnnotatedItem<?, ?> decorates;
+ private WBAnnotated<?, ?> decorates;
private Set<Annotation> delegateBindings;
private Type delegateType;
private Set<Type> decoratedTypes;
- protected DecoratorBean(AnnotatedClass<T> type, BeanManagerImpl manager)
+ protected DecoratorBean(WBClass<T> type, BeanManagerImpl manager)
{
super(type, manager);
}
@@ -99,7 +99,7 @@
@Override
protected void checkDecorates()
{
- for (AnnotatedInjectionPoint<?, ?> injectionPoint : getDecoratesInjectionPoint())
+ for (WBInjectionPoint<?, ?> injectionPoint : getDecoratesInjectionPoint())
{
if (injectionPoint instanceof MethodInjectionPoint && !injectionPoint.isAnnotationPresent(Initializer.class))
{
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/DisposalMethodBean.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/DisposalMethodBean.java 2009-06-12 22:30:21 UTC (rev 2827)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/DisposalMethodBean.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -35,11 +35,11 @@
import org.jboss.webbeans.BeanManagerImpl;
import org.jboss.webbeans.bootstrap.BeanDeployerEnvironment;
-import org.jboss.webbeans.injection.AnnotatedInjectionPoint;
+import org.jboss.webbeans.injection.WBInjectionPoint;
import org.jboss.webbeans.injection.MethodInjectionPoint;
import org.jboss.webbeans.injection.ParameterInjectionPoint;
-import org.jboss.webbeans.introspector.AnnotatedMethod;
-import org.jboss.webbeans.introspector.AnnotatedParameter;
+import org.jboss.webbeans.introspector.WBMethod;
+import org.jboss.webbeans.introspector.WBParameter;
import org.jboss.webbeans.log.LogProvider;
import org.jboss.webbeans.log.Logging;
@@ -50,10 +50,10 @@
protected AbstractClassBean<?> declaringBean;
private DisposalMethodBean<?> specializedBean;
protected MethodInjectionPoint<T> disposalMethodInjectionPoint;
- protected Set<AnnotatedInjectionPoint<?, ?>> disposalInjectionPoints;
+ protected Set<WBInjectionPoint<?, ?>> disposalInjectionPoints;
private final String id;
- protected DisposalMethodBean(BeanManagerImpl manager, AnnotatedMethod<T> disposalMethod, AbstractClassBean<?> declaringBean)
+ protected DisposalMethodBean(BeanManagerImpl manager, WBMethod<T> disposalMethod, AbstractClassBean<?> declaringBean)
{
super(manager);
this.disposalMethodInjectionPoint = MethodInjectionPoint.of(this, disposalMethod);
@@ -73,28 +73,28 @@
}
@Override
- public AnnotatedMethod<T> getAnnotatedItem()
+ public WBMethod<T> getAnnotatedItem()
{
return disposalMethodInjectionPoint;
}
- public static <T> DisposalMethodBean<T> of(BeanManagerImpl manager, AnnotatedMethod<T> disposalMethod, AbstractClassBean<?> declaringBean)
+ public static <T> DisposalMethodBean<T> of(BeanManagerImpl manager, WBMethod<T> disposalMethod, AbstractClassBean<?> declaringBean)
{
return new DisposalMethodBean<T>(manager, disposalMethod, declaringBean);
}
protected void initInjectionPoints()
{
- disposalInjectionPoints = new HashSet<AnnotatedInjectionPoint<?, ?>>();
+ disposalInjectionPoints = new HashSet<WBInjectionPoint<?, ?>>();
- List<? extends AnnotatedParameter<?>> disposalMethodParameters = disposalMethodInjectionPoint.getParameters();
+ List<? extends WBParameter<?>> disposalMethodParameters = disposalMethodInjectionPoint.getParameters();
// First one must be @Disposes, if more, register injectionpoints
if (disposalMethodParameters.size() > 1)
{
for (int i = 1; i < disposalMethodParameters.size(); i++)
{
- AnnotatedParameter<?> parameter = disposalMethodParameters.get(i);
+ WBParameter<?> parameter = disposalMethodParameters.get(i);
disposalInjectionPoints.add(ParameterInjectionPoint.of(declaringBean, parameter));
}
}
@@ -133,7 +133,7 @@
}
@Override
- public Set<AnnotatedInjectionPoint<?, ?>> getAnnotatedInjectionPoints()
+ public Set<WBInjectionPoint<?, ?>> getAnnotatedInjectionPoints()
{
return injectionPoints;
}
@@ -253,7 +253,7 @@
@Override
protected void specialize(BeanDeployerEnvironment environment)
{
- AnnotatedMethod<?> superClassMethod = declaringBean.getAnnotatedItem().getSuperclass().getMethod(getAnnotatedItem().getAnnotatedMethod());
+ WBMethod<?> superClassMethod = declaringBean.getAnnotatedItem().getSuperclass().getMethod(getAnnotatedItem().getAnnotatedMethod());
if (environment.getProducerMethod(superClassMethod) == null)
{
throw new IllegalStateException(toString() + " does not specialize a bean");
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/EnterpriseBean.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/EnterpriseBean.java 2009-06-12 22:30:21 UTC (rev 2827)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/EnterpriseBean.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -45,8 +45,8 @@
import org.jboss.webbeans.ejb.api.SessionObjectReference;
import org.jboss.webbeans.ejb.spi.BusinessInterfaceDescriptor;
import org.jboss.webbeans.ejb.spi.EjbServices;
-import org.jboss.webbeans.introspector.AnnotatedClass;
-import org.jboss.webbeans.introspector.AnnotatedMethod;
+import org.jboss.webbeans.introspector.WBClass;
+import org.jboss.webbeans.introspector.WBMethod;
import org.jboss.webbeans.log.Log;
import org.jboss.webbeans.log.Logging;
import org.jboss.webbeans.util.Proxies;
@@ -77,7 +77,7 @@
* @param manager the current manager
* @return An Enterprise Web Bean
*/
- public static <T> EnterpriseBean<T> of(AnnotatedClass<T> clazz, BeanManagerImpl manager, BeanDeployerEnvironment environment)
+ public static <T> EnterpriseBean<T> of(WBClass<T> clazz, BeanManagerImpl manager, BeanDeployerEnvironment environment)
{
return new EnterpriseBean<T>(clazz, manager, environment);
}
@@ -88,7 +88,7 @@
* @param type The type of the bean
* @param manager The Web Beans manager
*/
- protected EnterpriseBean(AnnotatedClass<T> type, BeanManagerImpl manager, BeanDeployerEnvironment environment)
+ protected EnterpriseBean(WBClass<T> type, BeanManagerImpl manager, BeanDeployerEnvironment environment)
{
super(type, manager);
initType();
@@ -370,7 +370,7 @@
*/
protected void checkObserverMethods()
{
- for (AnnotatedMethod<?> method : this.annotatedItem.getDeclaredMethodsWithAnnotatedParameters(Observes.class))
+ for (WBMethod<?> method : this.annotatedItem.getDeclaredMethodsWithAnnotatedParameters(Observes.class))
{
if (!method.isStatic())
{
@@ -383,7 +383,7 @@
}
// TODO must be a nicer way to do this!
- public boolean isMethodExistsOnTypes(AnnotatedMethod<?> method)
+ public boolean isMethodExistsOnTypes(WBMethod<?> method)
{
for (Type type : getTypes())
{
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/NewEnterpriseBean.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/NewEnterpriseBean.java 2009-06-12 22:30:21 UTC (rev 2827)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/NewEnterpriseBean.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -26,7 +26,7 @@
import org.jboss.webbeans.BeanManagerImpl;
import org.jboss.webbeans.bootstrap.BeanDeployerEnvironment;
-import org.jboss.webbeans.introspector.AnnotatedClass;
+import org.jboss.webbeans.introspector.WBClass;
import org.jboss.webbeans.literal.NewLiteral;
/**
@@ -45,7 +45,7 @@
* @param manager The Web Beans manager
* @return a new NewEnterpriseBean instance
*/
- public static <T> NewEnterpriseBean<T> of(AnnotatedClass<T> clazz, BeanManagerImpl manager, BeanDeployerEnvironment environment)
+ public static <T> NewEnterpriseBean<T> of(WBClass<T> clazz, BeanManagerImpl manager, BeanDeployerEnvironment environment)
{
return new NewEnterpriseBean<T>(clazz, manager, environment);
}
@@ -56,7 +56,7 @@
* @param type An annotated class
* @param manager The Web Beans manager
*/
- protected NewEnterpriseBean(AnnotatedClass<T> type, BeanManagerImpl manager, BeanDeployerEnvironment environment)
+ protected NewEnterpriseBean(WBClass<T> type, BeanManagerImpl manager, BeanDeployerEnvironment environment)
{
super(type, manager, environment);
}
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/NewSimpleBean.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/NewSimpleBean.java 2009-06-12 22:30:21 UTC (rev 2827)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/NewSimpleBean.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -25,7 +25,7 @@
import javax.enterprise.inject.deployment.Standard;
import org.jboss.webbeans.BeanManagerImpl;
-import org.jboss.webbeans.introspector.AnnotatedClass;
+import org.jboss.webbeans.introspector.WBClass;
import org.jboss.webbeans.literal.NewLiteral;
/**
@@ -44,7 +44,7 @@
* @param manager The Web Beans manager
* @return a new NewSimpleBean instance
*/
- public static <T> NewSimpleBean<T> of(AnnotatedClass<T> clazz, BeanManagerImpl manager)
+ public static <T> NewSimpleBean<T> of(WBClass<T> clazz, BeanManagerImpl manager)
{
return new NewSimpleBean<T>(clazz, manager);
}
@@ -55,7 +55,7 @@
* @param type An annotated class
* @param manager The Web Beans manager
*/
- protected NewSimpleBean(AnnotatedClass<T> type, BeanManagerImpl manager)
+ protected NewSimpleBean(WBClass<T> type, BeanManagerImpl manager)
{
super(type, manager);
}
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/ProducerFieldBean.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/ProducerFieldBean.java 2009-06-12 22:30:21 UTC (rev 2827)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/ProducerFieldBean.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -22,7 +22,7 @@
import org.jboss.webbeans.BeanManagerImpl;
import org.jboss.webbeans.bootstrap.BeanDeployerEnvironment;
-import org.jboss.webbeans.introspector.AnnotatedField;
+import org.jboss.webbeans.introspector.WBField;
import org.jboss.webbeans.util.Names;
/**
@@ -35,7 +35,7 @@
public class ProducerFieldBean<T> extends AbstractProducerBean<T, Field>
{
// The underlying field
- private AnnotatedField<T> field;
+ private WBField<T> field;
private final String id;
/**
@@ -46,7 +46,7 @@
* @param manager the current manager
* @return A producer Web Bean
*/
- public static <T> ProducerFieldBean<T> of(AnnotatedField<T> field, AbstractClassBean<?> declaringBean, BeanManagerImpl manager)
+ public static <T> ProducerFieldBean<T> of(WBField<T> field, AbstractClassBean<?> declaringBean, BeanManagerImpl manager)
{
return new ProducerFieldBean<T>(field, declaringBean, manager);
}
@@ -58,7 +58,7 @@
* @param declaringBean The declaring bean
* @param manager The Web Beans manager
*/
- protected ProducerFieldBean(AnnotatedField<T> field, AbstractClassBean<?> declaringBean, BeanManagerImpl manager)
+ protected ProducerFieldBean(WBField<T> field, AbstractClassBean<?> declaringBean, BeanManagerImpl manager)
{
super(declaringBean, manager);
this.field = field;
@@ -97,7 +97,7 @@
* @return The annotated item
*/
@Override
- protected AnnotatedField<T> getAnnotatedItem()
+ protected WBField<T> getAnnotatedItem()
{
return field;
}
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/ProducerMethodBean.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/ProducerMethodBean.java 2009-06-12 22:30:21 UTC (rev 2827)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/ProducerMethodBean.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -32,8 +32,8 @@
import org.jboss.webbeans.context.DependentStorageRequest;
import org.jboss.webbeans.injection.MethodInjectionPoint;
import org.jboss.webbeans.injection.ParameterInjectionPoint;
-import org.jboss.webbeans.introspector.AnnotatedMethod;
-import org.jboss.webbeans.introspector.AnnotatedParameter;
+import org.jboss.webbeans.introspector.WBMethod;
+import org.jboss.webbeans.introspector.WBParameter;
import org.jboss.webbeans.util.Names;
/**
@@ -62,12 +62,12 @@
* @param manager the current manager
* @return A producer Web Bean
*/
- public static <T> ProducerMethodBean<T> of(AnnotatedMethod<T> method, AbstractClassBean<?> declaringBean, BeanManagerImpl manager)
+ public static <T> ProducerMethodBean<T> of(WBMethod<T> method, AbstractClassBean<?> declaringBean, BeanManagerImpl manager)
{
return new ProducerMethodBean<T>(method, declaringBean, manager);
}
- protected ProducerMethodBean(AnnotatedMethod<T> method, AbstractClassBean<?> declaringBean, BeanManagerImpl manager)
+ protected ProducerMethodBean(WBMethod<T> method, AbstractClassBean<?> declaringBean, BeanManagerImpl manager)
{
super(declaringBean, manager);
this.method = MethodInjectionPoint.of(this, method);
@@ -109,7 +109,7 @@
*/
protected void initInjectionPoints()
{
- for (AnnotatedParameter<?> parameter : method.getParameters())
+ for (WBParameter<?> parameter : method.getParameters())
{
injectionPoints.add(ParameterInjectionPoint.of(this, parameter));
}
@@ -205,7 +205,7 @@
* @return The annotated item
*/
@Override
- public AnnotatedMethod<T> getAnnotatedItem()
+ public WBMethod<T> getAnnotatedItem()
{
return method;
}
@@ -272,7 +272,7 @@
@Override
protected void specialize(BeanDeployerEnvironment environment)
{
- AnnotatedMethod<?> superClassMethod = declaringBean.getAnnotatedItem().getSuperclass().getMethod(getAnnotatedItem().getAnnotatedMethod());
+ WBMethod<?> superClassMethod = declaringBean.getAnnotatedItem().getSuperclass().getMethod(getAnnotatedItem().getAnnotatedMethod());
if (environment.getProducerMethod(superClassMethod) == null)
{
throw new IllegalStateException(toString() + " does not specialize a bean");
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/RIBean.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/RIBean.java 2009-06-12 22:30:21 UTC (rev 2827)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/RIBean.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -27,7 +27,7 @@
import org.jboss.webbeans.BeanManagerImpl;
import org.jboss.webbeans.bootstrap.BeanDeployerEnvironment;
-import org.jboss.webbeans.injection.AnnotatedInjectionPoint;
+import org.jboss.webbeans.injection.WBInjectionPoint;
/**
* Abstract base class with functions specific to RI built-in beans
@@ -73,7 +73,7 @@
public abstract boolean isPrimitive();
- public abstract Set<AnnotatedInjectionPoint<?, ?>> getAnnotatedInjectionPoints();
+ public abstract Set<WBInjectionPoint<?, ?>> getAnnotatedInjectionPoints();
public Set<InjectionPoint> getInjectionPoints()
{
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/SimpleBean.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/SimpleBean.java 2009-06-12 22:30:21 UTC (rev 2827)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/SimpleBean.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -32,16 +32,16 @@
import org.jboss.webbeans.context.DependentStorageRequest;
import org.jboss.webbeans.ejb.EJBApiAbstraction;
import org.jboss.webbeans.ejb.spi.EjbServices;
-import org.jboss.webbeans.injection.AnnotatedInjectionPoint;
+import org.jboss.webbeans.injection.WBInjectionPoint;
import org.jboss.webbeans.injection.ConstructorInjectionPoint;
import org.jboss.webbeans.injection.FieldInjectionPoint;
import org.jboss.webbeans.injection.MethodInjectionPoint;
import org.jboss.webbeans.injection.ParameterInjectionPoint;
-import org.jboss.webbeans.introspector.AnnotatedClass;
-import org.jboss.webbeans.introspector.AnnotatedConstructor;
-import org.jboss.webbeans.introspector.AnnotatedField;
-import org.jboss.webbeans.introspector.AnnotatedMethod;
-import org.jboss.webbeans.introspector.AnnotatedParameter;
+import org.jboss.webbeans.introspector.WBClass;
+import org.jboss.webbeans.introspector.WBConstructor;
+import org.jboss.webbeans.introspector.WBField;
+import org.jboss.webbeans.introspector.WBMethod;
+import org.jboss.webbeans.introspector.WBParameter;
import org.jboss.webbeans.log.LogProvider;
import org.jboss.webbeans.log.Logging;
import org.jboss.webbeans.metadata.MetaDataCache;
@@ -66,13 +66,13 @@
// The constructor
private ConstructorInjectionPoint<T> constructor;
// The post-construct method
- private AnnotatedMethod<?> postConstruct;
+ private WBMethod<?> postConstruct;
// The pre-destroy method
- private AnnotatedMethod<?> preDestroy;
+ private WBMethod<?> preDestroy;
- private Set<AnnotatedInjectionPoint<?, ?>> ejbInjectionPoints;
- private Set<AnnotatedInjectionPoint<?, ?>> persistenceUnitInjectionPoints;
- private Set<AnnotatedInjectionPoint<?, ?>> resourceInjectionPoints;
+ private Set<WBInjectionPoint<?, ?>> ejbInjectionPoints;
+ private Set<WBInjectionPoint<?, ?>> persistenceUnitInjectionPoints;
+ private Set<WBInjectionPoint<?, ?>> resourceInjectionPoints;
private SimpleBean<?> specializedBean;
@@ -84,7 +84,7 @@
* @param manager the current manager
* @return A Web Bean
*/
- public static <T> SimpleBean<T> of(AnnotatedClass<T> clazz, BeanManagerImpl manager)
+ public static <T> SimpleBean<T> of(WBClass<T> clazz, BeanManagerImpl manager)
{
return new SimpleBean<T>(clazz, manager);
}
@@ -95,7 +95,7 @@
* @param type The type of the bean
* @param manager The Web Beans manager
*/
- protected SimpleBean(AnnotatedClass<T> type, BeanManagerImpl manager)
+ protected SimpleBean(WBClass<T> type, BeanManagerImpl manager)
{
super(type, manager);
initType();
@@ -168,7 +168,7 @@
*/
protected void callPreDestroy(T instance)
{
- AnnotatedMethod<?> preDestroy = getPreDestroy();
+ WBMethod<?> preDestroy = getPreDestroy();
if (preDestroy != null)
{
try
@@ -190,7 +190,7 @@
*/
protected void callPostConstruct(T instance)
{
- AnnotatedMethod<?> postConstruct = getPostConstruct();
+ WBMethod<?> postConstruct = getPostConstruct();
if (postConstruct != null)
{
try
@@ -207,13 +207,13 @@
protected void initEjbInjectionPoints()
{
Class<? extends Annotation> ejbAnnotationType = manager.getServices().get(EJBApiAbstraction.class).EJB_ANNOTATION_CLASS;
- this.ejbInjectionPoints = new HashSet<AnnotatedInjectionPoint<?, ?>>();
- for (AnnotatedField<?> field : annotatedItem.getAnnotatedFields(ejbAnnotationType))
+ this.ejbInjectionPoints = new HashSet<WBInjectionPoint<?, ?>>();
+ for (WBField<?> field : annotatedItem.getAnnotatedFields(ejbAnnotationType))
{
this.ejbInjectionPoints.add(FieldInjectionPoint.of(this, field));
}
- for (AnnotatedMethod<?> method : annotatedItem.getAnnotatedMethods(ejbAnnotationType))
+ for (WBMethod<?> method : annotatedItem.getAnnotatedMethods(ejbAnnotationType))
{
this.ejbInjectionPoints.add(MethodInjectionPoint.of(this, method));
}
@@ -221,11 +221,11 @@
protected void initPersistenceUnitInjectionPoints()
{
- this.persistenceUnitInjectionPoints = new HashSet<AnnotatedInjectionPoint<?, ?>>();
+ this.persistenceUnitInjectionPoints = new HashSet<WBInjectionPoint<?, ?>>();
Class<? extends Annotation> persistenceContextAnnotationType = manager.getServices().get(PersistenceApiAbstraction.class).PERSISTENCE_CONTEXT_ANNOTATION_CLASS;
Object extendedPersistenceContextEnum = manager.getServices().get(PersistenceApiAbstraction.class).EXTENDED_PERSISTENCE_CONTEXT_ENUM_VALUE;
- for (AnnotatedField<?> field : annotatedItem.getAnnotatedFields(persistenceContextAnnotationType))
+ for (WBField<?> field : annotatedItem.getAnnotatedFields(persistenceContextAnnotationType))
{
if (extendedPersistenceContextEnum.equals(Reflections.invokeAndWrap("type", field.getAnnotation(persistenceContextAnnotationType))))
{
@@ -234,7 +234,7 @@
this.persistenceUnitInjectionPoints.add(FieldInjectionPoint.of(this, field));
}
- for (AnnotatedMethod<?> method : annotatedItem.getAnnotatedMethods(persistenceContextAnnotationType))
+ for (WBMethod<?> method : annotatedItem.getAnnotatedMethods(persistenceContextAnnotationType))
{
if (extendedPersistenceContextEnum.equals(Reflections.invokeAndWrap("type", method.getAnnotation(persistenceContextAnnotationType))))
{
@@ -247,8 +247,8 @@
protected void initResourceInjectionPoints()
{
Class<? extends Annotation> resourceAnnotationType = manager.getServices().get(EJBApiAbstraction.class).RESOURCE_ANNOTATION_CLASS;
- this.resourceInjectionPoints = new HashSet<AnnotatedInjectionPoint<?, ?>>();
- for (AnnotatedField<?> field : annotatedItem.getAnnotatedFields(resourceAnnotationType))
+ this.resourceInjectionPoints = new HashSet<WBInjectionPoint<?, ?>>();
+ for (WBField<?> field : annotatedItem.getAnnotatedFields(resourceAnnotationType))
{
this.resourceInjectionPoints.add(FieldInjectionPoint.of(this, field));
}
@@ -265,7 +265,7 @@
if (ejbServices != null)
{
- for (AnnotatedInjectionPoint<?, ?> injectionPoint : ejbInjectionPoints)
+ for (WBInjectionPoint<?, ?> injectionPoint : ejbInjectionPoints)
{
Object ejbInstance = ejbServices.resolveEjb(injectionPoint);
injectionPoint.inject(beanInstance, ejbInstance);
@@ -274,7 +274,7 @@
if (jpaServices != null)
{
- for (AnnotatedInjectionPoint<?, ?> injectionPoint : persistenceUnitInjectionPoints)
+ for (WBInjectionPoint<?, ?> injectionPoint : persistenceUnitInjectionPoints)
{
Object puInstance = jpaServices.resolvePersistenceContext(injectionPoint);
injectionPoint.inject(beanInstance, puInstance);
@@ -283,7 +283,7 @@
if (resourceServices != null)
{
- for (AnnotatedInjectionPoint<?, ?> injectionPoint : resourceInjectionPoints)
+ for (WBInjectionPoint<?, ?> injectionPoint : resourceInjectionPoints)
{
Object resourceInstance = resourceServices.resolveResource(injectionPoint);
injectionPoint.inject(beanInstance, resourceInstance);
@@ -326,7 +326,7 @@
protected void initInjectionPoints()
{
super.initInjectionPoints();
- for (AnnotatedParameter<?> parameter : constructor.getParameters())
+ for (WBParameter<?> parameter : constructor.getParameters())
{
injectionPoints.add(ParameterInjectionPoint.of(this, parameter));
}
@@ -358,7 +358,7 @@
super.checkBeanImplementation();
if (!isDependent())
{
- for (AnnotatedField<?> field : getAnnotatedItem().getFields())
+ for (WBField<?> field : getAnnotatedItem().getFields())
{
if (field.isPublic() && !field.isStatic())
{
@@ -402,7 +402,7 @@
*/
protected void initConstructor()
{
- Set<AnnotatedConstructor<T>> initializerAnnotatedConstructors = getAnnotatedItem().getAnnotatedConstructors(Initializer.class);
+ Set<WBConstructor<T>> initializerAnnotatedConstructors = getAnnotatedItem().getAnnotatedConstructors(Initializer.class);
log.trace("Found " + initializerAnnotatedConstructors + " constructors annotated with @Initializer for " + getType());
if (initializerAnnotatedConstructors.size() > 1)
{
@@ -434,7 +434,7 @@
*/
protected void initPostConstruct()
{
- Set<AnnotatedMethod<?>> postConstructMethods = getAnnotatedItem().getAnnotatedMethods(PostConstruct.class);
+ Set<WBMethod<?>> postConstructMethods = getAnnotatedItem().getAnnotatedMethods(PostConstruct.class);
log.trace("Found " + postConstructMethods + " constructors annotated with @Initializer for " + getType());
if (postConstructMethods.size() > 1)
{
@@ -456,7 +456,7 @@
*/
protected void initPreDestroy()
{
- Set<AnnotatedMethod<?>> preDestroyMethods = getAnnotatedItem().getAnnotatedMethods(PreDestroy.class);
+ Set<WBMethod<?>> preDestroyMethods = getAnnotatedItem().getAnnotatedMethods(PreDestroy.class);
log.trace("Found " + preDestroyMethods + " constructors annotated with @Initializer for " + getType());
if (preDestroyMethods.size() > 1)
{
@@ -477,7 +477,7 @@
*
* @return The constructor
*/
- public AnnotatedConstructor<T> getConstructor()
+ public WBConstructor<T> getConstructor()
{
return constructor;
}
@@ -487,7 +487,7 @@
*
* @return The post-construct method
*/
- public AnnotatedMethod<?> getPostConstruct()
+ public WBMethod<?> getPostConstruct()
{
return postConstruct;
}
@@ -497,7 +497,7 @@
*
* @return The pre-destroy method
*/
- public AnnotatedMethod<?> getPreDestroy()
+ public WBMethod<?> getPreDestroy()
{
return preDestroy;
}
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/ee/AbstractJavaEEResourceBean.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/ee/AbstractJavaEEResourceBean.java 2009-06-12 22:30:21 UTC (rev 2827)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/ee/AbstractJavaEEResourceBean.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -34,7 +34,7 @@
import org.jboss.webbeans.BeanManagerImpl;
import org.jboss.webbeans.bean.RIBean;
import org.jboss.webbeans.bootstrap.BeanDeployerEnvironment;
-import org.jboss.webbeans.injection.AnnotatedInjectionPoint;
+import org.jboss.webbeans.injection.WBInjectionPoint;
import org.jboss.webbeans.literal.CurrentLiteral;
import org.jboss.webbeans.util.Proxies;
@@ -165,7 +165,7 @@
}
@Override
- public Set<AnnotatedInjectionPoint<?, ?>> getAnnotatedInjectionPoints()
+ public Set<WBInjectionPoint<?, ?>> getAnnotatedInjectionPoints()
{
return Collections.emptySet();
}
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/standard/AbstractStandardBean.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/standard/AbstractStandardBean.java 2009-06-12 22:30:21 UTC (rev 2827)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/standard/AbstractStandardBean.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -28,7 +28,7 @@
import org.jboss.webbeans.BeanManagerImpl;
import org.jboss.webbeans.bean.RIBean;
import org.jboss.webbeans.bootstrap.BeanDeployerEnvironment;
-import org.jboss.webbeans.injection.AnnotatedInjectionPoint;
+import org.jboss.webbeans.injection.WBInjectionPoint;
import org.jboss.webbeans.literal.AnyLiteral;
import org.jboss.webbeans.literal.CurrentLiteral;
@@ -80,7 +80,7 @@
}
@Override
- public Set<AnnotatedInjectionPoint<?, ?>> getAnnotatedInjectionPoints()
+ public Set<WBInjectionPoint<?, ?>> getAnnotatedInjectionPoints()
{
return Collections.emptySet();
}
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/bootstrap/BeanDeployer.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/bootstrap/BeanDeployer.java 2009-06-12 22:30:21 UTC (rev 2827)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/bootstrap/BeanDeployer.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -46,11 +46,11 @@
import org.jboss.webbeans.ejb.EjbDescriptorCache;
import org.jboss.webbeans.event.ObserverFactory;
import org.jboss.webbeans.event.ObserverImpl;
-import org.jboss.webbeans.introspector.AnnotatedClass;
-import org.jboss.webbeans.introspector.AnnotatedField;
-import org.jboss.webbeans.introspector.AnnotatedMethod;
-import org.jboss.webbeans.introspector.WrappedAnnotatedField;
-import org.jboss.webbeans.introspector.WrappedAnnotatedMethod;
+import org.jboss.webbeans.introspector.WBClass;
+import org.jboss.webbeans.introspector.WBField;
+import org.jboss.webbeans.introspector.WBMethod;
+import org.jboss.webbeans.introspector.WrappedWBField;
+import org.jboss.webbeans.introspector.WrappedWBMethod;
import org.jboss.webbeans.jsf.JsfApiAbstraction;
import org.jboss.webbeans.log.LogProvider;
import org.jboss.webbeans.log.Logging;
@@ -64,7 +64,7 @@
private static final LogProvider log = Logging.getLogProvider(BeanDeployer.class);
private final BeanDeployerEnvironment environment;
- private final Set<AnnotatedClass<?>> classes;
+ private final Set<WBClass<?>> classes;
private final BeanManagerImpl manager;
private final ClassTransformer classTransformer;
@@ -73,7 +73,7 @@
{
this.manager = manager;
this.environment = new BeanDeployerEnvironment(ejbDescriptors, manager);
- this.classes = new HashSet<AnnotatedClass<?>>();
+ this.classes = new HashSet<WBClass<?>>();
this.classTransformer = new ClassTransformer();
}
@@ -110,7 +110,7 @@
return this;
}
- public BeanDeployer addClasses(Collection<AnnotatedClass<?>> classes)
+ public BeanDeployer addClasses(Collection<WBClass<?>> classes)
{
classes.addAll(classes);
return this;
@@ -118,7 +118,7 @@
public BeanDeployer createBeans()
{
- for (AnnotatedClass<?> clazz : classes)
+ for (WBClass<?> clazz : classes)
{
if (environment.getEjbDescriptors().containsKey(clazz.getRawType()))
{
@@ -191,7 +191,7 @@
* @param bean
* The bean representation
*/
- protected <T> void createBean(AbstractClassBean<T> bean, final AnnotatedClass<T> annotatedClass)
+ protected <T> void createBean(AbstractClassBean<T> bean, final WBClass<T> annotatedClass)
{
addBean(bean);
@@ -211,95 +211,95 @@
}
}
- private void createProducerMethods(AbstractClassBean<?> declaringBean, AnnotatedClass<?> annotatedClass)
+ private void createProducerMethods(AbstractClassBean<?> declaringBean, WBClass<?> annotatedClass)
{
- for (AnnotatedMethod<?> method : annotatedClass.getDeclaredAnnotatedMethods(Produces.class))
+ for (WBMethod<?> method : annotatedClass.getDeclaredAnnotatedMethods(Produces.class))
{
createProducerMethod(declaringBean, method);
}
}
- private void createDisposalMethods(AbstractClassBean<?> declaringBean, AnnotatedClass<?> annotatedClass)
+ private void createDisposalMethods(AbstractClassBean<?> declaringBean, WBClass<?> annotatedClass)
{
- for (AnnotatedMethod<?> method : annotatedClass.getDeclaredMethodsWithAnnotatedParameters(Disposes.class))
+ for (WBMethod<?> method : annotatedClass.getDeclaredMethodsWithAnnotatedParameters(Disposes.class))
{
DisposalMethodBean<?> disposalBean = DisposalMethodBean.of(manager, method, declaringBean);
environment.addDisposalBean(disposalBean);
}
}
- private <T> void createProducerMethod(AbstractClassBean<?> declaringBean, AnnotatedMethod<T> annotatedMethod)
+ private <T> void createProducerMethod(AbstractClassBean<?> declaringBean, WBMethod<T> annotatedMethod)
{
ProducerMethodBean<T> bean = ProducerMethodBean.of(annotatedMethod, declaringBean, manager);
addBean(bean);
manager.getResolver().addInjectionPoints(bean.getAnnotatedInjectionPoints());
}
- private void createRealizedProducerMethods(AbstractClassBean<?> declaringBean, AnnotatedClass<?> realizingClass)
+ private void createRealizedProducerMethods(AbstractClassBean<?> declaringBean, WBClass<?> realizingClass)
{
- AnnotatedClass<?> realizedClass = realizingClass.getSuperclass();
- for (AnnotatedMethod<?> realizedMethod : realizedClass.getDeclaredAnnotatedMethods(Produces.class))
+ WBClass<?> realizedClass = realizingClass.getSuperclass();
+ for (WBMethod<?> realizedMethod : realizedClass.getDeclaredAnnotatedMethods(Produces.class))
{
createProducerMethod(declaringBean, realizeProducerMethod(realizedMethod, realizingClass));
}
}
- private void createRealizedProducerFields(AbstractClassBean<?> declaringBean, AnnotatedClass<?> realizingClass)
+ private void createRealizedProducerFields(AbstractClassBean<?> declaringBean, WBClass<?> realizingClass)
{
- AnnotatedClass<?> realizedClass = realizingClass.getSuperclass();
- for (final AnnotatedField<?> realizedField : realizedClass.getDeclaredAnnotatedFields(Produces.class))
+ WBClass<?> realizedClass = realizingClass.getSuperclass();
+ for (final WBField<?> realizedField : realizedClass.getDeclaredAnnotatedFields(Produces.class))
{
createProducerField(declaringBean, realizeProducerField(realizedField, realizingClass));
}
}
- private <T> void createProducerField(AbstractClassBean<?> declaringBean, AnnotatedField<T> field)
+ private <T> void createProducerField(AbstractClassBean<?> declaringBean, WBField<T> field)
{
ProducerFieldBean<T> bean = ProducerFieldBean.of(field, declaringBean, manager);
addBean(bean);
}
- private void createProducerFields(AbstractClassBean<?> declaringBean, AnnotatedClass<?> annotatedClass)
+ private void createProducerFields(AbstractClassBean<?> declaringBean, WBClass<?> annotatedClass)
{
- for (AnnotatedField<?> field : annotatedClass.getDeclaredAnnotatedFields(Produces.class))
+ for (WBField<?> field : annotatedClass.getDeclaredAnnotatedFields(Produces.class))
{
createProducerField(declaringBean, field);
}
}
- private void createObserverMethods(AbstractClassBean<?> declaringBean, AnnotatedClass<?> annotatedClass)
+ private void createObserverMethods(AbstractClassBean<?> declaringBean, WBClass<?> annotatedClass)
{
- for (AnnotatedMethod<?> method : annotatedClass.getDeclaredMethodsWithAnnotatedParameters(Observes.class))
+ for (WBMethod<?> method : annotatedClass.getDeclaredMethodsWithAnnotatedParameters(Observes.class))
{
createObserverMethod(declaringBean, method);
}
}
- private void createRealizedObserverMethods(AbstractClassBean<?> declaringBean, AnnotatedClass<?> realizingClass)
+ private void createRealizedObserverMethods(AbstractClassBean<?> declaringBean, WBClass<?> realizingClass)
{
createObserverMethods(declaringBean, realizingClass.getSuperclass());
}
- private void createObserverMethod(AbstractClassBean<?> declaringBean, AnnotatedMethod<?> method)
+ private void createObserverMethod(AbstractClassBean<?> declaringBean, WBMethod<?> method)
{
ObserverImpl<?> observer = ObserverFactory.create(method, declaringBean, manager);
environment.getObservers().add(observer);
}
- private <T> void createSimpleBean(AnnotatedClass<T> annotatedClass)
+ private <T> void createSimpleBean(WBClass<T> annotatedClass)
{
SimpleBean<T> bean = SimpleBean.of(annotatedClass, manager);
createBean(bean, annotatedClass);
addBean(NewSimpleBean.of(annotatedClass, manager));
}
- private <T> void createDecorator(AnnotatedClass<T> annotatedClass)
+ private <T> void createDecorator(WBClass<T> annotatedClass)
{
DecoratorBean<T> bean = DecoratorBean.of(annotatedClass, manager);
addBean(bean);
}
- private <T> void createEnterpriseBean(AnnotatedClass<T> annotatedClass)
+ private <T> void createEnterpriseBean(WBClass<T> annotatedClass)
{
// TODO Don't create enterprise bean if it has no local interfaces!
EnterpriseBean<T> bean = EnterpriseBean.of(annotatedClass, manager, environment);
@@ -314,7 +314,7 @@
* The type to inspect
* @return True if simple Web Bean, false otherwise
*/
- private boolean isTypeManagedBeanOrDecorator(AnnotatedClass<?> clazz)
+ private boolean isTypeManagedBeanOrDecorator(WBClass<?> clazz)
{
Class<?> rawType = clazz.getRawType();
EJBApiAbstraction ejbApiAbstraction = manager.getServices().get(EJBApiAbstraction.class);
@@ -332,14 +332,14 @@
hasSimpleWebBeanConstructor(clazz);
}
- private static boolean hasSimpleWebBeanConstructor(AnnotatedClass<?> type)
+ private static boolean hasSimpleWebBeanConstructor(WBClass<?> type)
{
return type.getNoArgsConstructor() != null || type.getAnnotatedConstructors(Initializer.class).size() > 0;
}
- private static <T> AnnotatedMethod<T> realizeProducerMethod(final AnnotatedMethod<T> method, final AnnotatedClass<?> realizingClass)
+ private static <T> WBMethod<T> realizeProducerMethod(final WBMethod<T> method, final WBClass<?> realizingClass)
{
- return new WrappedAnnotatedMethod<T>(method, realizingClass.getMetaAnnotations(BindingType.class))
+ return new WrappedWBMethod<T>(method, realizingClass.getMetaAnnotations(BindingType.class))
{
@Override
@@ -371,9 +371,9 @@
};
}
- private static <T> AnnotatedField<T> realizeProducerField(final AnnotatedField<T> field, final AnnotatedClass<?> realizingClass)
+ private static <T> WBField<T> realizeProducerField(final WBField<T> field, final WBClass<?> realizingClass)
{
- return new WrappedAnnotatedField<T>(field, realizingClass.getMetaAnnotations(BindingType.class))
+ return new WrappedWBField<T>(field, realizingClass.getMetaAnnotations(BindingType.class))
{
@Override
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/bootstrap/BeanDeployerEnvironment.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/bootstrap/BeanDeployerEnvironment.java 2009-06-12 22:30:21 UTC (rev 2827)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/bootstrap/BeanDeployerEnvironment.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -36,16 +36,16 @@
import org.jboss.webbeans.event.ObserverImpl;
import org.jboss.webbeans.injection.resolution.ResolvableFactory;
import org.jboss.webbeans.injection.resolution.Resolver;
-import org.jboss.webbeans.introspector.AnnotatedClass;
-import org.jboss.webbeans.introspector.AnnotatedItem;
-import org.jboss.webbeans.introspector.AnnotatedMethod;
+import org.jboss.webbeans.introspector.WBClass;
+import org.jboss.webbeans.introspector.WBAnnotated;
+import org.jboss.webbeans.introspector.WBMethod;
public class BeanDeployerEnvironment
{
- private final Map<AnnotatedClass<?>, AbstractClassBean<?>> classBeanMap;
- private final Map<AnnotatedMethod<?>, ProducerMethodBean<?>> producerMethodBeanMap;
- private final Map<AnnotatedMethod<?>, DisposalMethodBean<?>> disposalMethodBeanMap;
+ private final Map<WBClass<?>, AbstractClassBean<?>> classBeanMap;
+ private final Map<WBMethod<?>, ProducerMethodBean<?>> producerMethodBeanMap;
+ private final Map<WBMethod<?>, DisposalMethodBean<?>> disposalMethodBeanMap;
private final Set<RIBean<?>> beans;
private final Set<ObserverImpl<?>> observers;
private final List<DisposalMethodBean<?>> allDisposalBeans;
@@ -56,9 +56,9 @@
public BeanDeployerEnvironment(EjbDescriptorCache ejbDescriptors, BeanManagerImpl manager)
{
- this.classBeanMap = new HashMap<AnnotatedClass<?>, AbstractClassBean<?>>();
- this.producerMethodBeanMap = new HashMap<AnnotatedMethod<?>, ProducerMethodBean<?>>();
- this.disposalMethodBeanMap = new HashMap<AnnotatedMethod<?>, DisposalMethodBean<?>>();
+ this.classBeanMap = new HashMap<WBClass<?>, AbstractClassBean<?>>();
+ this.producerMethodBeanMap = new HashMap<WBMethod<?>, ProducerMethodBean<?>>();
+ this.disposalMethodBeanMap = new HashMap<WBMethod<?>, DisposalMethodBean<?>>();
this.allDisposalBeans = new ArrayList<DisposalMethodBean<?>>();
this.resolvedDisposalBeans = new HashSet<DisposalMethodBean<?>>();
this.beans = new HashSet<RIBean<?>>();
@@ -68,7 +68,7 @@
this.manager = manager;
}
- public ProducerMethodBean<?> getProducerMethod(AnnotatedMethod<?> method)
+ public ProducerMethodBean<?> getProducerMethod(WBMethod<?> method)
{
if (!producerMethodBeanMap.containsKey(method))
{
@@ -83,7 +83,7 @@
}
- public DisposalMethodBean<?> getDisposalMethod(AnnotatedMethod<?> method)
+ public DisposalMethodBean<?> getDisposalMethod(WBMethod<?> method)
{
if (!producerMethodBeanMap.containsKey(method))
{
@@ -97,7 +97,7 @@
}
}
- public AbstractClassBean<?> getClassBean(AnnotatedClass<?> clazz)
+ public AbstractClassBean<?> getClassBean(WBClass<?> clazz)
{
if (!classBeanMap.containsKey(clazz))
{
@@ -175,7 +175,7 @@
* @param bindings The binding types to match
* @return The set of matching disposal methods
*/
- public <T> Set<DisposalMethodBean<T>> resolveDisposalBeans(AnnotatedItem<T, ?> annotatedItem)
+ public <T> Set<DisposalMethodBean<T>> resolveDisposalBeans(WBAnnotated<T, ?> annotatedItem)
{
// Correct?
Set<Bean<?>> beans = disposalMethodResolver.get(ResolvableFactory.of(annotatedItem));
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/event/ObserverFactory.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/event/ObserverFactory.java 2009-06-12 22:30:21 UTC (rev 2827)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/event/ObserverFactory.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -18,7 +18,7 @@
import org.jboss.webbeans.BeanManagerImpl;
import org.jboss.webbeans.bean.AbstractClassBean;
-import org.jboss.webbeans.introspector.AnnotatedMethod;
+import org.jboss.webbeans.introspector.WBMethod;
import org.jboss.webbeans.transaction.spi.TransactionServices;
/**
@@ -37,7 +37,7 @@
* @param manager The Web Beans manager
* @return An observer implementation built from the method abstraction
*/
- public static <T> ObserverImpl<T> create(AnnotatedMethod<?> method, AbstractClassBean<?> declaringBean, BeanManagerImpl manager)
+ public static <T> ObserverImpl<T> create(WBMethod<?> method, AbstractClassBean<?> declaringBean, BeanManagerImpl manager)
{
ObserverImpl<T> result = null;
if (manager.getServices().contains(TransactionServices.class) && TransactionalObserverImpl.isObserverMethodTransactional(method))
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/event/ObserverImpl.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/event/ObserverImpl.java 2009-06-12 22:30:21 UTC (rev 2827)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/event/ObserverImpl.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -41,8 +41,8 @@
import org.jboss.webbeans.context.DependentInstancesStore;
import org.jboss.webbeans.context.DependentStorageRequest;
import org.jboss.webbeans.injection.MethodInjectionPoint;
-import org.jboss.webbeans.introspector.AnnotatedMethod;
-import org.jboss.webbeans.introspector.AnnotatedParameter;
+import org.jboss.webbeans.introspector.WBMethod;
+import org.jboss.webbeans.introspector.WBParameter;
import org.jboss.webbeans.util.Names;
/**
@@ -74,7 +74,7 @@
* @param observerBean The observer bean
* @param manager The Web Beans manager
*/
- protected ObserverImpl(final AnnotatedMethod<?> observer, final RIBean<?> observerBean, final BeanManagerImpl manager)
+ protected ObserverImpl(final WBMethod<?> observer, final RIBean<?> observerBean, final BeanManagerImpl manager)
{
this.manager = manager;
this.observerBean = observerBean;
@@ -102,7 +102,7 @@
private void checkObserverMethod()
{
// Make sure exactly one and only one parameter is annotated with Observes
- List<AnnotatedParameter<?>> eventObjects = this.observerMethod.getAnnotatedParameters(Observes.class);
+ List<WBParameter<?>> eventObjects = this.observerMethod.getAnnotatedParameters(Observes.class);
if (eventObjects.size() > 1)
{
throw new DefinitionException(this + " is invalid because it contains more than event parameter annotated @Observes");
@@ -111,7 +111,7 @@
// variable or wildcard
if (eventObjects.size() > 0)
{
- AnnotatedParameter<?> eventParam = eventObjects.iterator().next();
+ WBParameter<?> eventParam = eventObjects.iterator().next();
if (eventParam.isParameterizedType())
{
for (Type type : eventParam.getActualTypeArguments())
@@ -128,7 +128,7 @@
}
}
// Check for parameters annotated with @Disposes
- List<AnnotatedParameter<?>> disposeParams = this.observerMethod.getAnnotatedParameters(Disposes.class);
+ List<WBParameter<?>> disposeParams = this.observerMethod.getAnnotatedParameters(Disposes.class);
if (disposeParams.size() > 0)
{
throw new DefinitionException(this + " cannot have any parameters annotated with @Disposes");
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/event/TransactionalObserverImpl.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/event/TransactionalObserverImpl.java 2009-06-12 22:30:21 UTC (rev 2827)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/event/TransactionalObserverImpl.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -29,7 +29,7 @@
import org.jboss.webbeans.BeanManagerImpl;
import org.jboss.webbeans.bean.RIBean;
-import org.jboss.webbeans.introspector.AnnotatedMethod;
+import org.jboss.webbeans.introspector.WBMethod;
import org.jboss.webbeans.transaction.spi.TransactionServices;
/**
@@ -55,7 +55,7 @@
* @param observer The observer method
* @return true if the observer method is annotated as transactional
*/
- public static boolean isObserverMethodTransactional(AnnotatedMethod<?> observer)
+ public static boolean isObserverMethodTransactional(WBMethod<?> observer)
{
boolean transactional = true;
if ((observer.getAnnotatedParameters(BeforeTransactionCompletion.class).isEmpty()) && (observer.getAnnotatedParameters(AfterTransactionCompletion.class).isEmpty()) && (observer.getAnnotatedParameters(AfterTransactionSuccess.class).isEmpty()) && (observer.getAnnotatedParameters(AfterTransactionFailure.class).isEmpty()))
@@ -72,7 +72,7 @@
* @param observerBean The bean declaring the observer method
* @param manager The JCDI manager in use
*/
- protected TransactionalObserverImpl(AnnotatedMethod<?> observer, RIBean<?> observerBean, BeanManagerImpl manager)
+ protected TransactionalObserverImpl(WBMethod<?> observer, RIBean<?> observerBean, BeanManagerImpl manager)
{
super(observer, observerBean, manager);
}
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/injection/AnnotatedAdaptor.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/injection/AnnotatedAdaptor.java 2009-06-12 22:30:21 UTC (rev 2827)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/injection/AnnotatedAdaptor.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -6,14 +6,14 @@
import javax.enterprise.inject.spi.Annotated;
-import org.jboss.webbeans.introspector.AnnotatedItem;
+import org.jboss.webbeans.introspector.WBAnnotated;
public class AnnotatedAdaptor implements Annotated
{
- private final AnnotatedItem<?, ?> annotatedItem;
+ private final WBAnnotated<?, ?> annotatedItem;
- public AnnotatedAdaptor(AnnotatedItem<?, ?> annotatedItem)
+ public AnnotatedAdaptor(WBAnnotated<?, ?> annotatedItem)
{
this.annotatedItem = annotatedItem;
}
Deleted: ri/trunk/impl/src/main/java/org/jboss/webbeans/injection/AnnotatedInjectionPoint.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/injection/AnnotatedInjectionPoint.java 2009-06-12 22:30:21 UTC (rev 2827)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/injection/AnnotatedInjectionPoint.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -1,35 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.webbeans.injection;
-
-import javax.enterprise.inject.spi.InjectionPoint;
-
-import org.jboss.webbeans.introspector.AnnotatedItem;
-
-public interface AnnotatedInjectionPoint<T, S> extends InjectionPoint, AnnotatedItem<T, S>
-{
-
- /**
- * Injects an instance
- *
- *
- * @param declaringInstance The instance to inject into
- * @param value The value to inject
- */
- public void inject(Object declaringInstance, Object value);
-
-}
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/injection/ConstructorInjectionPoint.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/injection/ConstructorInjectionPoint.java 2009-06-12 22:30:21 UTC (rev 2827)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/injection/ConstructorInjectionPoint.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -32,17 +32,17 @@
import javax.enterprise.inject.spi.Bean;
import org.jboss.webbeans.BeanManagerImpl;
-import org.jboss.webbeans.introspector.AnnotatedConstructor;
-import org.jboss.webbeans.introspector.AnnotatedParameter;
-import org.jboss.webbeans.introspector.ForwardingAnnotatedConstructor;
+import org.jboss.webbeans.introspector.WBConstructor;
+import org.jboss.webbeans.introspector.WBParameter;
+import org.jboss.webbeans.introspector.ForwardingWBConstructor;
-public class ConstructorInjectionPoint<T> extends ForwardingAnnotatedConstructor<T> implements AnnotatedInjectionPoint<T, Constructor<T>>
+public class ConstructorInjectionPoint<T> extends ForwardingWBConstructor<T> implements WBInjectionPoint<T, Constructor<T>>
{
private abstract class ForwardingParameterInjectionPointList extends AbstractList<ParameterInjectionPoint<?>>
{
- protected abstract List<? extends AnnotatedParameter<?>> delegate();
+ protected abstract List<? extends WBParameter<?>> delegate();
protected abstract Bean<?> declaringBean();;
@@ -63,21 +63,21 @@
private static final Annotation[] EMPTY_ANNOTATION_ARRAY = new Annotation[0];
private final Bean<?> declaringBean;
- private final AnnotatedConstructor<T> constructor;
+ private final WBConstructor<T> constructor;
- public static <T> ConstructorInjectionPoint<T> of(Bean<?> declaringBean, AnnotatedConstructor<T> constructor)
+ public static <T> ConstructorInjectionPoint<T> of(Bean<?> declaringBean, WBConstructor<T> constructor)
{
return new ConstructorInjectionPoint<T>(declaringBean, constructor);
}
- protected ConstructorInjectionPoint(Bean<?> declaringBean, AnnotatedConstructor<T> constructor)
+ protected ConstructorInjectionPoint(Bean<?> declaringBean, WBConstructor<T> constructor)
{
this.declaringBean = declaringBean;
this.constructor = constructor;
}
@Override
- protected AnnotatedConstructor<T> delegate()
+ protected WBConstructor<T> delegate()
{
return constructor;
}
@@ -120,7 +120,7 @@
@Override
public List<ParameterInjectionPoint<?>> getParameters()
{
- final List<? extends AnnotatedParameter<?>> delegate = super.getParameters();
+ final List<? extends WBParameter<?>> delegate = super.getParameters();
return new ForwardingParameterInjectionPointList()
{
@@ -131,7 +131,7 @@
}
@Override
- protected List<? extends AnnotatedParameter<?>> delegate()
+ protected List<? extends WBParameter<?>> delegate()
{
return delegate;
}
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/injection/FieldInjectionPoint.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/injection/FieldInjectionPoint.java 2009-06-12 22:30:21 UTC (rev 2827)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/injection/FieldInjectionPoint.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -27,30 +27,30 @@
import javax.enterprise.inject.spi.Bean;
import org.jboss.webbeans.BeanManagerImpl;
-import org.jboss.webbeans.introspector.AnnotatedField;
-import org.jboss.webbeans.introspector.ForwardingAnnotatedField;
+import org.jboss.webbeans.introspector.WBField;
+import org.jboss.webbeans.introspector.ForwardingWBField;
-public class FieldInjectionPoint<T> extends ForwardingAnnotatedField<T> implements AnnotatedInjectionPoint<T, Field>
+public class FieldInjectionPoint<T> extends ForwardingWBField<T> implements WBInjectionPoint<T, Field>
{
private static final Annotation[] EMPTY_ANNOTATION_ARRAY = new Annotation[0];
private final Bean<?> declaringBean;
- private final AnnotatedField<T> field;
+ private final WBField<T> field;
- public static <T> FieldInjectionPoint<T> of(Bean<?> declaringBean, AnnotatedField<T> field)
+ public static <T> FieldInjectionPoint<T> of(Bean<?> declaringBean, WBField<T> field)
{
return new FieldInjectionPoint<T>(declaringBean, field);
}
- protected FieldInjectionPoint(Bean<?> declaringBean, AnnotatedField<T> field)
+ protected FieldInjectionPoint(Bean<?> declaringBean, WBField<T> field)
{
this.declaringBean = declaringBean;
this.field = field;
}
@Override
- protected AnnotatedField<T> delegate()
+ protected WBField<T> delegate()
{
return field;
}
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/injection/MethodInjectionPoint.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/injection/MethodInjectionPoint.java 2009-06-12 22:30:21 UTC (rev 2827)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/injection/MethodInjectionPoint.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -31,17 +31,17 @@
import javax.enterprise.inject.spi.Bean;
import org.jboss.webbeans.BeanManagerImpl;
-import org.jboss.webbeans.introspector.AnnotatedMethod;
-import org.jboss.webbeans.introspector.AnnotatedParameter;
-import org.jboss.webbeans.introspector.ForwardingAnnotatedMethod;
+import org.jboss.webbeans.introspector.WBMethod;
+import org.jboss.webbeans.introspector.WBParameter;
+import org.jboss.webbeans.introspector.ForwardingWBMethod;
-public class MethodInjectionPoint<T> extends ForwardingAnnotatedMethod<T> implements AnnotatedInjectionPoint<T, Method>
+public class MethodInjectionPoint<T> extends ForwardingWBMethod<T> implements WBInjectionPoint<T, Method>
{
private abstract class ForwardingParameterInjectionPointList extends AbstractList<ParameterInjectionPoint<?>>
{
- protected abstract List<? extends AnnotatedParameter<?>> delegate();
+ protected abstract List<? extends WBParameter<?>> delegate();
protected abstract Bean<?> declaringBean();;
@@ -62,21 +62,21 @@
private static final Annotation[] EMPTY_ANNOTATION_ARRAY = new Annotation[0];
private final Bean<?> declaringBean;
- private final AnnotatedMethod<T> method;
+ private final WBMethod<T> method;
- public static <T> MethodInjectionPoint<T> of(Bean<?> declaringBean, AnnotatedMethod<T> method)
+ public static <T> MethodInjectionPoint<T> of(Bean<?> declaringBean, WBMethod<T> method)
{
return new MethodInjectionPoint<T>(declaringBean, method);
}
- protected MethodInjectionPoint(Bean<?> declaringBean, AnnotatedMethod<T> method)
+ protected MethodInjectionPoint(Bean<?> declaringBean, WBMethod<T> method)
{
this.declaringBean = declaringBean;
this.method = method;
}
@Override
- protected AnnotatedMethod<T> delegate()
+ protected WBMethod<T> delegate()
{
return method;
}
@@ -196,7 +196,7 @@
@Override
public List<ParameterInjectionPoint<?>> getParameters()
{
- final List<? extends AnnotatedParameter<?>> delegate = super.getParameters();
+ final List<? extends WBParameter<?>> delegate = super.getParameters();
return new ForwardingParameterInjectionPointList()
{
@@ -207,7 +207,7 @@
}
@Override
- protected List<? extends AnnotatedParameter<?>> delegate()
+ protected List<? extends WBParameter<?>> delegate()
{
return delegate;
}
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/injection/ParameterInjectionPoint.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/injection/ParameterInjectionPoint.java 2009-06-12 22:30:21 UTC (rev 2827)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/injection/ParameterInjectionPoint.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -25,30 +25,30 @@
import javax.enterprise.inject.spi.Bean;
import org.jboss.webbeans.BeanManagerImpl;
-import org.jboss.webbeans.introspector.AnnotatedParameter;
-import org.jboss.webbeans.introspector.ForwardingAnnotatedParameter;
+import org.jboss.webbeans.introspector.WBParameter;
+import org.jboss.webbeans.introspector.ForwardingWBParameter;
-public class ParameterInjectionPoint<T> extends ForwardingAnnotatedParameter<T> implements AnnotatedInjectionPoint<T, Object>
+public class ParameterInjectionPoint<T> extends ForwardingWBParameter<T> implements WBInjectionPoint<T, Object>
{
private static final Annotation[] EMPTY_ANNOTATION_ARRAY = new Annotation[0];
- public static <T> ParameterInjectionPoint<T> of(Bean<?> declaringBean, AnnotatedParameter<T> parameter)
+ public static <T> ParameterInjectionPoint<T> of(Bean<?> declaringBean, WBParameter<T> parameter)
{
return new ParameterInjectionPoint<T>(declaringBean, parameter);
}
private final Bean<?> declaringBean;
- private final AnnotatedParameter<T> parameter;
+ private final WBParameter<T> parameter;
- private ParameterInjectionPoint(Bean<?> declaringBean, AnnotatedParameter<T> parameter)
+ private ParameterInjectionPoint(Bean<?> declaringBean, WBParameter<T> parameter)
{
this.declaringBean = declaringBean;
this.parameter = parameter;
}
@Override
- protected AnnotatedParameter<T> delegate()
+ protected WBParameter<T> delegate()
{
return parameter;
}
Copied: ri/trunk/impl/src/main/java/org/jboss/webbeans/injection/WBInjectionPoint.java (from rev 2821, ri/trunk/impl/src/main/java/org/jboss/webbeans/injection/AnnotatedInjectionPoint.java)
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/injection/WBInjectionPoint.java (rev 0)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/injection/WBInjectionPoint.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -0,0 +1,35 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.webbeans.injection;
+
+import javax.enterprise.inject.spi.InjectionPoint;
+
+import org.jboss.webbeans.introspector.WBAnnotated;
+
+public interface WBInjectionPoint<T, S> extends InjectionPoint, WBAnnotated<T, S>
+{
+
+ /**
+ * Injects an instance
+ *
+ *
+ * @param declaringInstance The instance to inject into
+ * @param value The value to inject
+ */
+ public void inject(Object declaringInstance, Object value);
+
+}
Property changes on: ri/trunk/impl/src/main/java/org/jboss/webbeans/injection/WBInjectionPoint.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Deleted: ri/trunk/impl/src/main/java/org/jboss/webbeans/injection/resolution/ResolvableAnnotatedClass.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/injection/resolution/ResolvableAnnotatedClass.java 2009-06-12 22:30:21 UTC (rev 2827)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/injection/resolution/ResolvableAnnotatedClass.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -1,211 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.webbeans.injection.resolution;
-
-import java.lang.annotation.Annotation;
-import java.lang.reflect.Field;
-import java.lang.reflect.Member;
-import java.lang.reflect.Method;
-import java.lang.reflect.ParameterizedType;
-import java.lang.reflect.Type;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Set;
-
-import javax.enterprise.inject.TypeLiteral;
-import javax.enterprise.inject.spi.InjectionPoint;
-
-import org.jboss.webbeans.BeanManagerImpl;
-import org.jboss.webbeans.injection.AnnotatedInjectionPoint;
-import org.jboss.webbeans.introspector.AnnotatedItem;
-import org.jboss.webbeans.introspector.AnnotationStore;
-import org.jboss.webbeans.introspector.jlr.AbstractAnnotatedItem;
-import org.jboss.webbeans.util.Names;
-import org.jboss.webbeans.util.Reflections;
-
-public class ResolvableAnnotatedClass<T> extends AbstractAnnotatedItem<T, Class<T>> implements Resolvable
-{
-
- private static final Annotation[] EMPTY_ANNOTATION_ARRAY = new Annotation[0];
- private static final Set<Annotation> EMPTY_ANNOTATION_SET = Collections.emptySet();
-
- private final Class<T> rawType;
- private final Set<Type> types;
- private final Type[] actualTypeArguments;
-
- private final String _string;
-
- private final BeanManagerImpl manager;
-
- public static <T> AnnotatedItem<T, Class<T>> of(TypeLiteral<T> typeLiteral, Annotation[] annotations, BeanManagerImpl manager)
- {
- return new ResolvableAnnotatedClass<T>(typeLiteral.getType(), annotations, manager);
- }
-
- public static <T> AnnotatedItem<T, Class<T>> of(Type type, Annotation[] annotations, BeanManagerImpl manager)
- {
- return new ResolvableAnnotatedClass<T>(type, annotations, manager);
- }
-
- public static <T> AnnotatedItem<T, Class<T>> of(InjectionPoint injectionPoint, BeanManagerImpl manager)
- {
- if (injectionPoint instanceof AnnotatedInjectionPoint)
- {
- @SuppressWarnings("unchecked")
- AnnotatedItem<T, Class<T>> ip = (AnnotatedItem<T, Class<T>>) injectionPoint;
- return ip;
- }
- else
- {
- return new ResolvableAnnotatedClass<T>(injectionPoint.getType(), injectionPoint.getAnnotated().getAnnotations(), manager);
- }
- }
-
- public static <T> AnnotatedItem<T, Class<T>> of(Member member, Annotation[] annotations, BeanManagerImpl manager)
- {
- if (member instanceof Field)
- {
- return new ResolvableAnnotatedClass<T>(((Field) member).getGenericType(), annotations, manager);
- }
- else if (member instanceof Method)
- {
- return new ResolvableAnnotatedClass<T>(((Method) member).getGenericReturnType(), annotations, manager);
- }
- else
- {
- throw new IllegalStateException();
- }
- }
-
- private ResolvableAnnotatedClass(Type type, AnnotationStore annotationStore, BeanManagerImpl manager)
- {
- super(annotationStore);
-
- this.manager = manager;
-
- if (type instanceof ParameterizedType)
- {
- ParameterizedType parameterizedType = (ParameterizedType) type;
- if (parameterizedType.getRawType() instanceof Class)
- {
- this.rawType = (Class<T>) parameterizedType.getRawType();
- }
- else
- {
- throw new IllegalArgumentException("Cannot extract rawType from " + type);
- }
- this.actualTypeArguments = ((ParameterizedType) type).getActualTypeArguments();
- this._string = rawType.toString() + "<" + Arrays.asList(actualTypeArguments).toString() + ">; binding types = " + Names.annotationsToString(annotationStore.getBindings());
- }
- else if (type instanceof Class)
- {
- this.rawType = (Class<T>) type;
- this.actualTypeArguments = new Type[0];
- this._string = rawType.toString() +"; binding types = " + Names.annotationsToString(annotationStore.getBindings());
- }
- else
- {
- throw new IllegalArgumentException("Unable to extract type information from " + type);
- }
- this.types = new HashSet<Type>();
- types.add(type);
- }
-
- private ResolvableAnnotatedClass(Type type, Annotation[] annotations, BeanManagerImpl manager)
- {
- this(type, AnnotationStore.of(annotations, EMPTY_ANNOTATION_ARRAY), manager);
- }
-
- private ResolvableAnnotatedClass(Type type, Set<Annotation>annotations, BeanManagerImpl manager)
- {
- this(type, AnnotationStore.of(annotations, EMPTY_ANNOTATION_SET), manager);
- }
-
- @Override
- public String toString()
- {
- return _string;
- }
-
- @Override
- public Class<T> getDelegate()
- {
- return rawType;
- }
-
- @Override
- public Type[] getActualTypeArguments()
- {
- return actualTypeArguments;
- }
-
- public String getName()
- {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public Class<T> getRawType()
- {
- return rawType;
- }
-
- @Override
- public Type getType()
- {
- return getRawType();
- }
-
- public boolean isFinal()
- {
- throw new UnsupportedOperationException();
- }
-
- public boolean isPublic()
- {
- throw new UnsupportedOperationException();
- }
-
- public boolean isStatic()
- {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public Set<Type> getFlattenedTypeHierarchy()
- {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public boolean isProxyable()
- {
- throw new UnsupportedOperationException();
- }
-
- public Set<Type> getTypes()
- {
- return types;
- }
-
- public boolean isAssignableTo(Class<?> clazz)
- {
- return Reflections.isAssignableFrom(clazz, getType());
- }
-
-}
\ No newline at end of file
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/injection/resolution/ResolvableFactory.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/injection/resolution/ResolvableFactory.java 2009-06-12 22:30:21 UTC (rev 2827)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/injection/resolution/ResolvableFactory.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -5,13 +5,13 @@
import java.util.HashSet;
import java.util.Set;
-import org.jboss.webbeans.introspector.AnnotatedItem;
+import org.jboss.webbeans.introspector.WBAnnotated;
import org.jboss.webbeans.util.Reflections;
public class ResolvableFactory
{
- public static Resolvable of(AnnotatedItem<?, ?> element)
+ public static Resolvable of(WBAnnotated<?, ?> element)
{
if (element instanceof Resolvable)
{
Copied: ri/trunk/impl/src/main/java/org/jboss/webbeans/injection/resolution/ResolvableWBClass.java (from rev 2827, ri/trunk/impl/src/main/java/org/jboss/webbeans/injection/resolution/ResolvableAnnotatedClass.java)
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/injection/resolution/ResolvableWBClass.java (rev 0)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/injection/resolution/ResolvableWBClass.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -0,0 +1,211 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.webbeans.injection.resolution;
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Field;
+import java.lang.reflect.Member;
+import java.lang.reflect.Method;
+import java.lang.reflect.ParameterizedType;
+import java.lang.reflect.Type;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Set;
+
+import javax.enterprise.inject.TypeLiteral;
+import javax.enterprise.inject.spi.InjectionPoint;
+
+import org.jboss.webbeans.BeanManagerImpl;
+import org.jboss.webbeans.injection.WBInjectionPoint;
+import org.jboss.webbeans.introspector.WBAnnotated;
+import org.jboss.webbeans.introspector.AnnotationStore;
+import org.jboss.webbeans.introspector.jlr.AbstractWBAnnotated;
+import org.jboss.webbeans.util.Names;
+import org.jboss.webbeans.util.Reflections;
+
+public class ResolvableWBClass<T> extends AbstractWBAnnotated<T, Class<T>> implements Resolvable
+{
+
+ private static final Annotation[] EMPTY_ANNOTATION_ARRAY = new Annotation[0];
+ private static final Set<Annotation> EMPTY_ANNOTATION_SET = Collections.emptySet();
+
+ private final Class<T> rawType;
+ private final Set<Type> types;
+ private final Type[] actualTypeArguments;
+
+ private final String _string;
+
+ private final BeanManagerImpl manager;
+
+ public static <T> WBAnnotated<T, Class<T>> of(TypeLiteral<T> typeLiteral, Annotation[] annotations, BeanManagerImpl manager)
+ {
+ return new ResolvableWBClass<T>(typeLiteral.getType(), annotations, manager);
+ }
+
+ public static <T> WBAnnotated<T, Class<T>> of(Type type, Annotation[] annotations, BeanManagerImpl manager)
+ {
+ return new ResolvableWBClass<T>(type, annotations, manager);
+ }
+
+ public static <T> WBAnnotated<T, Class<T>> of(InjectionPoint injectionPoint, BeanManagerImpl manager)
+ {
+ if (injectionPoint instanceof WBInjectionPoint)
+ {
+ @SuppressWarnings("unchecked")
+ WBAnnotated<T, Class<T>> ip = (WBAnnotated<T, Class<T>>) injectionPoint;
+ return ip;
+ }
+ else
+ {
+ return new ResolvableWBClass<T>(injectionPoint.getType(), injectionPoint.getAnnotated().getAnnotations(), manager);
+ }
+ }
+
+ public static <T> WBAnnotated<T, Class<T>> of(Member member, Annotation[] annotations, BeanManagerImpl manager)
+ {
+ if (member instanceof Field)
+ {
+ return new ResolvableWBClass<T>(((Field) member).getGenericType(), annotations, manager);
+ }
+ else if (member instanceof Method)
+ {
+ return new ResolvableWBClass<T>(((Method) member).getGenericReturnType(), annotations, manager);
+ }
+ else
+ {
+ throw new IllegalStateException();
+ }
+ }
+
+ private ResolvableWBClass(Type type, AnnotationStore annotationStore, BeanManagerImpl manager)
+ {
+ super(annotationStore);
+
+ this.manager = manager;
+
+ if (type instanceof ParameterizedType)
+ {
+ ParameterizedType parameterizedType = (ParameterizedType) type;
+ if (parameterizedType.getRawType() instanceof Class)
+ {
+ this.rawType = (Class<T>) parameterizedType.getRawType();
+ }
+ else
+ {
+ throw new IllegalArgumentException("Cannot extract rawType from " + type);
+ }
+ this.actualTypeArguments = ((ParameterizedType) type).getActualTypeArguments();
+ this._string = rawType.toString() + "<" + Arrays.asList(actualTypeArguments).toString() + ">; binding types = " + Names.annotationsToString(annotationStore.getBindings());
+ }
+ else if (type instanceof Class)
+ {
+ this.rawType = (Class<T>) type;
+ this.actualTypeArguments = new Type[0];
+ this._string = rawType.toString() +"; binding types = " + Names.annotationsToString(annotationStore.getBindings());
+ }
+ else
+ {
+ throw new IllegalArgumentException("Unable to extract type information from " + type);
+ }
+ this.types = new HashSet<Type>();
+ types.add(type);
+ }
+
+ private ResolvableWBClass(Type type, Annotation[] annotations, BeanManagerImpl manager)
+ {
+ this(type, AnnotationStore.of(annotations, EMPTY_ANNOTATION_ARRAY), manager);
+ }
+
+ private ResolvableWBClass(Type type, Set<Annotation>annotations, BeanManagerImpl manager)
+ {
+ this(type, AnnotationStore.of(annotations, EMPTY_ANNOTATION_SET), manager);
+ }
+
+ @Override
+ public String toString()
+ {
+ return _string;
+ }
+
+ @Override
+ public Class<T> getDelegate()
+ {
+ return rawType;
+ }
+
+ @Override
+ public Type[] getActualTypeArguments()
+ {
+ return actualTypeArguments;
+ }
+
+ public String getName()
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public Class<T> getRawType()
+ {
+ return rawType;
+ }
+
+ @Override
+ public Type getType()
+ {
+ return getRawType();
+ }
+
+ public boolean isFinal()
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ public boolean isPublic()
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ public boolean isStatic()
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public Set<Type> getFlattenedTypeHierarchy()
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public boolean isProxyable()
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ public Set<Type> getTypes()
+ {
+ return types;
+ }
+
+ public boolean isAssignableTo(Class<?> clazz)
+ {
+ return Reflections.isAssignableFrom(clazz, getType());
+ }
+
+}
\ No newline at end of file
Property changes on: ri/trunk/impl/src/main/java/org/jboss/webbeans/injection/resolution/ResolvableWBClass.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/injection/resolution/Resolver.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/injection/resolution/Resolver.java 2009-06-12 22:30:21 UTC (rev 2827)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/injection/resolution/Resolver.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -32,7 +32,7 @@
import org.jboss.webbeans.BeanManagerImpl;
import org.jboss.webbeans.bean.standard.EventBean;
import org.jboss.webbeans.bean.standard.InstanceBean;
-import org.jboss.webbeans.introspector.AnnotatedItem;
+import org.jboss.webbeans.introspector.WBAnnotated;
import org.jboss.webbeans.util.Beans;
import org.jboss.webbeans.util.ListComparator;
import org.jboss.webbeans.util.Reflections;
@@ -81,7 +81,7 @@
// The resolved injection points
private ConcurrentCache<Resolvable, Set<Bean<?>>> resolvedInjectionPoints;
// The registerd injection points
- private Set<AnnotatedItem<?, ?>> injectionPoints;
+ private Set<WBAnnotated<?, ?>> injectionPoints;
// The resolved names
private ConcurrentCache<String, Set<Bean<?>>> resolvedNames;
@@ -102,7 +102,7 @@
{
this.manager = manager;
this.beans = beans;
- this.injectionPoints = new HashSet<AnnotatedItem<?, ?>>();
+ this.injectionPoints = new HashSet<WBAnnotated<?, ?>>();
this.resolvedInjectionPoints = new ConcurrentCache<Resolvable, Set<Bean<?>>>();
this.resolvedNames = new ConcurrentCache<String, Set<Bean<?>>>();
this.transformers = new HashSet<ResolovableTransformer>();
@@ -111,11 +111,11 @@
}
/**
* Add multiple injection points for later resolving using
- * {@link #registerInjectionPoint(AnnotatedItem)}. Useful during bootstrap.
+ * {@link #registerInjectionPoint(WBAnnotated)}. Useful during bootstrap.
*
* @param elements The injection points to add
*/
- public void addInjectionPoints(Collection<? extends AnnotatedItem<?, ?>> elements)
+ public void addInjectionPoints(Collection<? extends WBAnnotated<?, ?>> elements)
{
injectionPoints.addAll(elements);
}
@@ -167,7 +167,7 @@
*/
public void resolveInjectionPoints()
{
- for (final AnnotatedItem<? extends Object, ? extends Object> injectable : injectionPoints)
+ for (final WBAnnotated<? extends Object, ? extends Object> injectable : injectionPoints)
{
registerInjectionPoint(ResolvableFactory.of(injectable));
}
Deleted: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/AnnotatedAnnotation.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/AnnotatedAnnotation.java 2009-06-12 22:30:21 UTC (rev 2827)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/AnnotatedAnnotation.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -1,55 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.webbeans.introspector;
-
-import java.lang.annotation.Annotation;
-import java.util.Set;
-
-/**
- * Represents a meta annotation
- *
- * @author Pete Muir
- *
- */
-public interface AnnotatedAnnotation<T extends Annotation> extends AnnotatedType<T>
-{
- /**
- * Gets all members
- *
- * @return A set of abstracted members
- */
- public Set<AnnotatedMethod<?>> getMembers();
-
- /**
- * Gets all the members annotated with annotationType
- *
- * @param annotationType The annotation type to match
- * @return A set of abstracted members with the annotation type
- */
- public Set<AnnotatedMethod<?>> getAnnotatedMembers(Class<? extends Annotation> annotationType);
-
- /**
- * Get an annotation member by name
- *
- * @param memberName
- * @return
- */
- public <A> AnnotatedMethod<A> getMember(String memberName, AnnotatedClass<A> expectedType);
-
- public Class<T> getRawType();
-
-}
Deleted: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/AnnotatedClass.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/AnnotatedClass.java 2009-06-12 22:30:21 UTC (rev 2827)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/AnnotatedClass.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -1,203 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.webbeans.introspector;
-
-import java.lang.annotation.Annotation;
-import java.lang.reflect.Method;
-import java.util.Set;
-
-/**
- * Represents a Class
- *
- * @author Pete Muir
- *
- */
-public interface AnnotatedClass<T> extends AnnotatedType<T>
-{
-
- /**
- * Gets all fields on the type
- *
- * @return A set of abstracted fields
- */
- public Set<AnnotatedField<?>> getFields();
-
- /**
- * Get a field by name
- *
- * @param <F> the expected type of the field
- * @param fieldName the field name
- * @param expectedType the expected type of the field
- * @return the field
- */
- public <F> AnnotatedField<F> getDeclaredField(String fieldName, AnnotatedClass<F> expectedType);
-
- /**
- * Gets all fields which are annotated with the given annotation type on this
- * class and all super classes
- *
- * @param annotationType The annotation to match
- * @return A set of abstracted fields with the given annotation. Returns an
- * empty set if there are no matches
- */
- public Set<AnnotatedField<?>> getAnnotatedFields(Class<? extends Annotation> annotationType);
-
- /**
- * Gets all fields which are annotated with the given annotation type on this
- * class only.
- *
- * @param annotationType The annotation to match
- * @return A set of abstracted fields with the given annotation. Returns an
- * empty set if there are no matches
- */
- public Set<AnnotatedField<?>> getDeclaredAnnotatedFields(Class<? extends Annotation> annotationType);
-
- /**
- * Gets all fields which are meta-annotated with metaAnnotationType
- *
- * @param metaAnnotationType The meta annotation to match
- * @return A set of abstracted fields with the given meta-annotation. Returns
- * an empty set if there are no matches
- */
- public Set<AnnotatedField<?>> getMetaAnnotatedFields(Class<? extends Annotation> metaAnnotationType);
-
- /**
- * Gets all constructors which are annotated with annotationType
- *
- * @param annotationType The annotation type to match
- * @return A set of abstracted fields with the given annotation. Returns an
- * empty set if there are no matches
- */
- public Set<AnnotatedConstructor<T>> getAnnotatedConstructors(Class<? extends Annotation> annotationType);
-
- /**
- * Gets all constructors
- *
- * @return A set of abstracted constructors
- */
- public Set<AnnotatedConstructor<T>> getConstructors();
-
- /**
- * Gets the no-args constructor
- *
- * @return The no-args constructor, or null if not defined
- */
- public AnnotatedConstructor<T> getNoArgsConstructor();
-
- /**
- * Get the constructor which matches the argument list provided
- *
- * @param parameterTypes the parameters of the constructor
- * @return the matching constructor, or null if not defined
- */
- public AnnotatedConstructor<T> getDeclaredConstructor(ConstructorSignature signature);
-
- /**
- * Gets all methods annotated with annotationType
- *
- * @param annotationType The annotation to match
- * @return A set of abstracted methods with the given annotation. Returns an
- * empty set if there are no matches
- */
- public Set<AnnotatedMethod<?>> getAnnotatedMethods(Class<? extends Annotation> annotationType);
-
- /**
- * Gets all methods annotated with annotationType
- *
- * @param annotationType The annotation to match
- * @return A set of abstracted methods with the given annotation. Returns an
- * empty set if there are no matches
- */
- public Set<AnnotatedMethod<?>> getDeclaredAnnotatedMethods(Class<? extends Annotation> annotationType);
-
- /**
- * Find the annotated method for a given methodDescriptor
- *
- * @param methodDescriptor
- * @return
- *
- * TODO Replace with AnnotatedMethod variant
- */
- @Deprecated
- public AnnotatedMethod<?> getMethod(Method method);
-
- /**
- * Get a method by name
- *
- * @param <M> the expected return type
- * @param signature the name of the method
- * @param expectedReturnType the expected return type
- * @return the method, or null if it doesn't exist
- */
- public <M> AnnotatedMethod<M> getDeclaredMethod(MethodSignature signature, AnnotatedClass<M> expectedReturnType);
-
- // TODO Replace with AnnotatedMethod variant
- @Deprecated
- public AnnotatedMethod<?> getDeclaredMethod(Method method);
-
- /**
- * Gets all with parameters annotated with annotationType
- *
- * @param annotationType The annotation to match
- * @return A set of abstracted methods with the given annotation. Returns an
- * empty set if there are no matches
- */
- public Set<AnnotatedMethod<?>> getMethodsWithAnnotatedParameters(Class<? extends Annotation> annotationType);
-
- /**
- * Gets all with constructors annotated with annotationType
- *
- * @param annotationType The annotation to match
- * @return A set of abstracted constructors with the given annotation. Returns an
- * empty set if there are no matches
- */
- public Set<AnnotatedConstructor<?>> getConstructorsWithAnnotatedParameters(Class<? extends Annotation> annotationType);
-
- /**
- * Gets all with parameters annotated with annotationType
- *
- * @param annotationType The annotation to match
- * @return A set of abstracted methods with the given annotation. Returns an
- * empty set if there are no matches
- */
- public Set<AnnotatedMethod<?>> getDeclaredMethodsWithAnnotatedParameters(Class<? extends Annotation> annotationType);
-
- /**
- * Gets the superclass.
- *
- * @return The abstracted superclass, null if there is no superclass
- */
- public AnnotatedClass<?> getSuperclass();
-
- /**
- * Determine if this is a non-static member class
- *
- * @return true if this is a non-static member
- */
- public boolean isNonStaticMemberClass();
-
- public boolean isParameterizedType();
-
- public boolean isAbstract();
-
- public boolean isEnum();
-
- public <S> S cast(Object object);
-
- public <U> AnnotatedClass<? extends U> asSubclass(AnnotatedClass<U> clazz);
-
-}
\ No newline at end of file
Deleted: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/AnnotatedConstructor.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/AnnotatedConstructor.java 2009-06-12 22:30:21 UTC (rev 2827)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/AnnotatedConstructor.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -1,75 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.webbeans.introspector;
-
-import java.lang.annotation.Annotation;
-import java.lang.reflect.Constructor;
-import java.lang.reflect.InvocationTargetException;
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import javax.decorator.Decorates;
-
-/**
- * Represents a Class Constructor
- *
- * @author Pete Muir
- *
- */
-public interface AnnotatedConstructor<T> extends AnnotatedMember<T, Constructor<T>>
-{
-
- @SuppressWarnings("unchecked")
- public static final Set<Class<? extends Annotation>> MAPPED_PARAMETER_ANNOTATIONS = new HashSet<Class<? extends Annotation>>(Arrays.asList(Decorates.class));
-
- /**
- * Gets all parameters to the constructor
- *
- * @return A set of abstracted parameters. Returns an empty set if there are
- * no parameters
- */
- public List<? extends AnnotatedParameter<?>> getParameters();
-
- /**
- * Gets all parameters to the constructor which are annotated with
- * annotationType
- *
- * @param annotationType A annotation to match
- * @return A list of abstracted parameters with the given annotation type.
- * Returns an empty set if there are no matches.
- */
- public List<AnnotatedParameter<?>> getAnnotatedParameters(Class<? extends Annotation> annotationType);
-
- /**
- * Creates a new instance of the class, using this constructor
- *
- * @return The created instance
- */
- public T newInstance(Object... parameters) throws IllegalArgumentException, InstantiationException, IllegalAccessException, InvocationTargetException;
-
- /**
- * Gets the declaring class of the annotation
- *
- * @return An abstraction of the declaring class
- */
- public AnnotatedType<T> getDeclaringClass();
-
- public ConstructorSignature getSignature();
-
-}
Deleted: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/AnnotatedField.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/AnnotatedField.java 2009-06-12 22:30:21 UTC (rev 2827)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/AnnotatedField.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -1,65 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.webbeans.introspector;
-
-import java.lang.reflect.Field;
-
-/**
- * AnnotatedField provides a uniform access to the annotations on an annotated
- * field
- *
- * @author Pete Muir
- *
- */
-public interface AnnotatedField<T> extends AnnotatedMember<T, Field>
-{
-
- /**
- * Gets the annotated field
- *
- * @return The annotated field
- */
- public Field getAnnotatedField();
-
- /**
- * Injects an instance
- *
- *
- * @param declaringInstance The instance to inject into
- * @param value The value to inject
- */
- public void set(Object declaringInstance, Object value) throws IllegalArgumentException, IllegalAccessException;
-
- public T get(Object instance);
-
- /**
- * Gets an abstraction of the declaring class
- *
- * @return The declaring class
- */
- public AnnotatedType<?> getDeclaringClass();
-
- /**
- * Gets the property name of the field
- *
- * @return The name
- */
- public String getPropertyName();
-
- public boolean isTransient();
-
-}
Deleted: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/AnnotatedItem.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/AnnotatedItem.java 2009-06-12 22:30:21 UTC (rev 2827)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/AnnotatedItem.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -1,225 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.webbeans.introspector;
-
-import java.lang.annotation.Annotation;
-import java.lang.reflect.Type;
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.Set;
-
-import javax.enterprise.context.ScopeType;
-import javax.enterprise.inject.BindingType;
-import javax.enterprise.inject.Stereotype;
-import javax.enterprise.inject.deployment.DeploymentType;
-
-/**
- * AnnotatedItem provides a uniform access to the annotations on an annotated
- * item defined either in Java or XML
- *
- * @author Pete Muir
- *
- */
-public interface AnnotatedItem<T, S>
-{
-
-// The set of meta-annotations to map
- @SuppressWarnings("unchecked")
- public static final Set<Class<? extends Annotation>> MAPPED_METAANNOTATIONS = new HashSet<Class<? extends Annotation>>(Arrays.asList(BindingType.class, DeploymentType.class, Stereotype.class, ScopeType.class));
-
- /**
- * Gets all annotations on the item
- *
- * @return A set of annotations. Returns an empty set if there are no
- * matches.
- */
- public <A extends Annotation> Set<A> getAnnotations();
-
- /**
- * Gets all annotations which are annotated with the given meta annotation
- * type
- *
- * @param The meta annotation to match
- * @return A set of matching meta-annotations. Returns an empty set if there
- * are no matches.
- */
- public Set<Annotation> getMetaAnnotations(Class<? extends Annotation> metaAnnotationType);
-
- /**
- * Gets all annotations which are declared on this annotated item
- * with the given meta annotation type
- *
- * @param The meta annotation to match
- * @return A set of matching meta-annotations. Returns an empty set if there
- * are no matches.
- */
- public Set<Annotation> getDeclaredMetaAnnotations(Class<? extends Annotation> metaAnnotationType);
-
- /**
- * Gets all annotations which are annotated with the given meta annotation
- * type
- *
- * @param The meta annotation to match
- * @return An array of matching meta-annotations. Returns an empty array if
- * there are no matches.
- */
- public Annotation[] getMetaAnnotationsAsArray(Class<? extends Annotation> metaAnnotationType);
-
- /**
- * Gets the binding types for this element
- *
- * @returns A set of binding types present on the type. Returns an empty set
- * if there are no matches.
- * @deprecated This reflection type should not know about JSR-299 binding types
- */
- @Deprecated
- public Set<Annotation> getBindings();
-
- /**
- * Gets the binding types for this element
- *
- * @returns An array of binding types present on the type. Returns an empty
- * array if there are no matches.
- * @deprecated This reflection type should not know about JSR-299 binding types
- */
- @Deprecated
- public Annotation[] getBindingsAsArray();
-
- /**
- * Gets an annotation for the annotation type specified.
- *
- * @param annotationType The annotation to match
- * @return An annotation if found, null if the annotation wasn't present.
- */
- public <A extends Annotation> A getAnnotation(Class<A> annotationType);
-
- /**
- * Get the whole type hierarchy as a set of flattened types.
- *
- * The returned types should have any type parameters resolved to their
- * actual types.
- *
- * @return the type hierarchy
- */
- public Set<Type> getFlattenedTypeHierarchy();
-
- /**
- * Get the type hierarchy of any interfaces implemented by this class.
- *
- * Interface hierarchies from super classes are not included.
- *
- * The returned types should have any type parameters resolved to their
- * actual types.
- *
- * @return the type hierarchy
- */
- public Set<Type> getInterfaceOnlyFlattenedTypeHierarchy();
-
- /**
- * Indicates if an annotation type specified is present
- *
- * @param annotationType The annotation to match
- * @return True if present, false if not
- */
- public boolean isAnnotationPresent(Class<? extends Annotation> annotationType);
-
- /**
- * Indicates if an annotation type specified is present
- *
- * @param annotationType The annotation to match
- * @return True if present, false if not
- */
- public boolean isDeclaredAnnotationPresent(Class<? extends Annotation> annotationType);
-
- /**
- * Gets the type of the element
- *
- * @return The type of the element
- */
- public Class<T> getRawType();
-
- public Type getType();
-
- /**
- * Extends Java Class assignability such that actual type parameters are also
- * considered
- *
- * @param that The other item to check assignability against
- * @return True if assignable, false otherwise.
- */
- public boolean isAssignableFrom(AnnotatedItem<?, ?> that);
-
- /**
- * Extends Java Class assignability such that actual type parameters are also
- * considered
- *
- * @param type The type to compare against
- * @param actualTypeArguments The type arguments
- * @return True is assignable, false otherwise
- */
- public boolean isAssignableFrom(Class<?> type, Type[] actualTypeArguments);
-
- /**
- * Gets the actual type arguments for any parameterized types that this
- * AnnotatedItem represents.
- *
- * @return An array of type arguments
- */
- public Type[] getActualTypeArguments();
-
- /**
- * Indicates if this AnnotatedItem represents a static element
- *
- * @return True if static, false otherwise
- */
- public boolean isStatic();
-
- /**
- * Indicates if this AnnotatedItem represents a final element
- * @return True if final, false otherwise
- */
- public boolean isFinal();
-
- /**
- * Indicates if this AnnotatedItem can be proxyed
- *
- * @return True if proxyable, false otherwise
- */
- public boolean isProxyable();
-
- /**
- * Indicates if this annotated item is public
- *
- * @return if public, returns true
- */
- public boolean isPublic();
-
- /**
- * Gets the name of this AnnotatedItem
- *
- * If it is not possible to determine the name of the underling element, a
- * IllegalArgumentException is thrown
- *
- * @return The name
- */
- public String getName();
-
- public AnnotationStore getAnnotationStore();
-
- public boolean isParameterizedType();
-
-}
\ No newline at end of file
Deleted: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/AnnotatedMember.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/AnnotatedMember.java 2009-06-12 22:30:21 UTC (rev 2827)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/AnnotatedMember.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -1,38 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.webbeans.introspector;
-
-import java.lang.reflect.Member;
-/**
- * AnnotedMember provides enhanced access to an annotated member
- *
- * @author Pete Muir
- *
- */
-public interface AnnotatedMember<T, S extends Member> extends AnnotatedItem<T, S>
-{
-
- public S getMember();
-
- /**
- * Gets an abstraction of the declaring class
- *
- * @return The declaring class
- */
- public AnnotatedType<?> getDeclaringClass();
-
-}
Deleted: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/AnnotatedMethod.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/AnnotatedMethod.java 2009-06-12 22:30:21 UTC (rev 2827)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/AnnotatedMethod.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -1,115 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.webbeans.introspector;
-
-import java.lang.annotation.Annotation;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import javax.enterprise.inject.Disposes;
-import javax.event.AfterTransactionCompletion;
-import javax.event.AfterTransactionFailure;
-import javax.event.AfterTransactionSuccess;
-import javax.event.Asynchronously;
-import javax.event.BeforeTransactionCompletion;
-import javax.event.IfExists;
-import javax.event.Observes;
-
-/**
- * AnnotatedType provides a uniform access to the annotations on an annotated
- * class defined either in Java or XML
- *
- * @author Pete Muir
- *
- */
-public interface AnnotatedMethod<T> extends AnnotatedMember<T, Method>
-{
- @SuppressWarnings("unchecked")
- public static final Set<Class<? extends Annotation>> MAPPED_PARAMETER_ANNOTATIONS = new HashSet<Class<? extends Annotation>>(Arrays.asList(Disposes.class, Observes.class, IfExists.class, BeforeTransactionCompletion.class, AfterTransactionCompletion.class, AfterTransactionFailure.class, AfterTransactionSuccess.class, Asynchronously.class, Disposes.class));
-
- /**
- * Gets the abstracted parameters of the method
- *
- * @return A list of parameters. Returns an empty list if no parameters are
- * present.
- */
- public List<? extends AnnotatedParameter<?>> getParameters();
-
- /**
- * Gets the list of annotated parameters for a given annotation
- *
- * @param metaAnnotationType The annotation to match
- * @return A set of matching parameter abstractions. Returns an empty list if
- * there are no matches.
- */
- public List<AnnotatedParameter<?>> getAnnotatedParameters(Class<? extends Annotation> metaAnnotationType);
-
- /**
- * Get the parameter types as an array
- */
- public Class<?>[] getParameterTypesAsArray();
-
- /**
- * Invokes the method
- *
- * @param instance The instance to invoke
- * @param parameters The method parameters
- * @return A reference to the instance
- */
- public T invoke(Object instance, Object... parameters) throws IllegalArgumentException, IllegalAccessException, InvocationTargetException;
-
- /**
- * Invokes the method on the class of the passed instance, not the declaring
- * class. Useful with proxies
- *
- * @param instance The instance to invoke
- * @param manager The Web Beans manager
- * @return A reference to the instance
- */
- public T invokeOnInstance(Object instance, Object... parameters) throws IllegalArgumentException, SecurityException, IllegalAccessException, InvocationTargetException, NoSuchMethodException;
-
- /**
- * Gets the declaring class
- *
- * @return An abstraction of the declaring class
- */
- public AnnotatedType<?> getDeclaringClass();
-
- /**
- * Gets the property name
- *
- * @return The name
- */
- public String getPropertyName();
-
- /**
- * Checks if a this is equivalent to a JLR method
- *
- * @param method The JLR method
- * @return true if equivalent
- */
- public boolean isEquivalent(Method method);
-
- public Method getAnnotatedMethod();
-
- public MethodSignature getSignature();
-
-}
Deleted: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/AnnotatedParameter.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/AnnotatedParameter.java 2009-06-12 22:30:21 UTC (rev 2827)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/AnnotatedParameter.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -1,33 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.webbeans.introspector;
-
-
-
-/**
- * AnnotatedParameter provides a uniform access to a method parameter defined
- * either in Java or XML
- *
- * @author Pete Muir
- * @param <T>
- */
-public interface AnnotatedParameter<T> extends AnnotatedItem<T, Object>
-{
-
- public AnnotatedMember<?, ?> getDeclaringMember();
-
-}
Deleted: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/AnnotatedType.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/AnnotatedType.java 2009-06-12 22:30:21 UTC (rev 2827)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/AnnotatedType.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -1,46 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.webbeans.introspector;
-
-
-/**
- * AnnotatedType provides a uniform access to a type defined either in Java or
- * XML
- *
- * @author Pete Muir
- * @param <T>
- */
-public interface AnnotatedType<T> extends AnnotatedItem<T, Class<T>>
-{
-
- /**
- * Gets the superclass of the type
- *
- * @return The abstracted superclass
- */
- public AnnotatedType<?> getSuperclass();
-
- /**
- * Check if this is equivalent to a java class
- * @param clazz The Java class
- * @return true if equivalent
- */
- public boolean isEquivalent(Class<?> clazz);
-
- public String getSimpleName();
-
-}
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/AnnotationStore.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/AnnotationStore.java 2009-06-12 22:30:21 UTC (rev 2827)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/AnnotationStore.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -16,7 +16,7 @@
*/
package org.jboss.webbeans.introspector;
-import static org.jboss.webbeans.introspector.AnnotatedItem.MAPPED_METAANNOTATIONS;
+import static org.jboss.webbeans.introspector.WBAnnotated.MAPPED_METAANNOTATIONS;
import java.lang.annotation.Annotation;
import java.lang.reflect.AnnotatedElement;
Deleted: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingAnnotatedAnnotation.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingAnnotatedAnnotation.java 2009-06-12 22:30:21 UTC (rev 2827)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingAnnotatedAnnotation.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -1,38 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.webbeans.introspector;
-
-import java.lang.annotation.Annotation;
-import java.util.Set;
-
-public abstract class ForwardingAnnotatedAnnotation<T extends Annotation> extends ForwardingAnnotatedType<T> implements AnnotatedAnnotation<T>
-{
-
- @Override
- protected abstract AnnotatedAnnotation<T> delegate();
-
- public Set<AnnotatedMethod<?>> getAnnotatedMembers(Class<? extends Annotation> annotationType)
- {
- return delegate().getAnnotatedMembers(annotationType);
- }
-
- public Set<AnnotatedMethod<?>> getMembers()
- {
- return delegate().getMembers();
- }
-
-}
Deleted: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingAnnotatedClass.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingAnnotatedClass.java 2009-06-12 22:30:21 UTC (rev 2827)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingAnnotatedClass.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -1,152 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.webbeans.introspector;
-
-import java.lang.annotation.Annotation;
-import java.lang.reflect.Method;
-import java.util.Set;
-
-public abstract class ForwardingAnnotatedClass<T> extends ForwardingAnnotatedType<T> implements AnnotatedClass<T>
-{
-
- protected abstract AnnotatedClass<T> delegate();
-
- public Set<AnnotatedConstructor<T>> getAnnotatedConstructors(Class<? extends Annotation> annotationType)
- {
- return delegate().getAnnotatedConstructors(annotationType);
- }
-
- public Set<AnnotatedField<?>> getAnnotatedFields(Class<? extends Annotation> annotationType)
- {
- return delegate().getAnnotatedFields(annotationType);
- }
-
- public Set<AnnotatedMethod<?>> getAnnotatedMethods(Class<? extends Annotation> annotationType)
- {
- return delegate().getAnnotatedMethods(annotationType);
- }
-
- public AnnotatedConstructor<T> getNoArgsConstructor()
- {
- return delegate().getNoArgsConstructor();
- }
-
- public Set<AnnotatedConstructor<T>> getConstructors()
- {
- return delegate().getConstructors();
- }
-
- public Set<AnnotatedField<?>> getDeclaredAnnotatedFields(Class<? extends Annotation> annotationType)
- {
- return delegate().getDeclaredAnnotatedFields(annotationType);
- }
-
- public Set<AnnotatedMethod<?>> getDeclaredAnnotatedMethods(Class<? extends Annotation> annotationType)
- {
- return delegate().getDeclaredAnnotatedMethods(annotationType);
- }
-
- public Set<AnnotatedMethod<?>> getDeclaredMethodsWithAnnotatedParameters(Class<? extends Annotation> annotationType)
- {
- return delegate().getDeclaredMethodsWithAnnotatedParameters(annotationType);
- }
-
- public Set<AnnotatedField<?>> getFields()
- {
- return delegate().getFields();
- }
-
- public Set<AnnotatedField<?>> getMetaAnnotatedFields(Class<? extends Annotation> metaAnnotationType)
- {
- return delegate().getMetaAnnotatedFields(metaAnnotationType);
- }
-
- @Deprecated
- public AnnotatedMethod<?> getMethod(Method method)
- {
- return delegate().getMethod(method);
- }
-
- public Set<AnnotatedMethod<?>> getMethodsWithAnnotatedParameters(Class<? extends Annotation> annotationType)
- {
- return delegate().getMethodsWithAnnotatedParameters(annotationType);
- }
-
- public Set<AnnotatedConstructor<?>> getConstructorsWithAnnotatedParameters(Class<? extends Annotation> annotationType)
- {
- return delegate().getConstructorsWithAnnotatedParameters(annotationType);
- }
-
- public AnnotatedClass<?> getSuperclass()
- {
- return delegate().getSuperclass();
- }
-
- public boolean isNonStaticMemberClass()
- {
- return delegate().isNonStaticMemberClass();
- }
-
- public boolean isParameterizedType()
- {
- return delegate().isParameterizedType();
- }
-
- public boolean isAbstract()
- {
- return delegate().isAbstract();
- }
-
- public boolean isEnum()
- {
- return delegate().isEnum();
- }
-
- @Deprecated
- public AnnotatedMethod<?> getDeclaredMethod(Method method)
- {
- return delegate().getDeclaredMethod(method);
- }
-
- public <F> AnnotatedField<F> getDeclaredField(String fieldName, AnnotatedClass<F> expectedType)
- {
- return delegate().getDeclaredField(fieldName, expectedType);
- }
-
- public <M> AnnotatedMethod<M> getDeclaredMethod(MethodSignature signature, AnnotatedClass<M> expectedReturnType)
- {
- return delegate().getDeclaredMethod(signature, expectedReturnType);
- }
-
- public AnnotatedConstructor<T> getDeclaredConstructor(ConstructorSignature signature)
- {
- return delegate().getDeclaredConstructor(signature);
- }
-
- public <U> AnnotatedClass<? extends U> asSubclass(AnnotatedClass<U> clazz)
- {
- return delegate().asSubclass(clazz);
- }
-
- public <S> S cast(Object object)
- {
- return delegate().<S>cast(object);
- }
-
-
-
-}
Deleted: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingAnnotatedConstructor.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingAnnotatedConstructor.java 2009-06-12 22:30:21 UTC (rev 2827)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingAnnotatedConstructor.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -1,56 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.webbeans.introspector;
-
-import java.lang.annotation.Annotation;
-import java.lang.reflect.Constructor;
-import java.lang.reflect.InvocationTargetException;
-import java.util.List;
-
-public abstract class ForwardingAnnotatedConstructor<T> extends ForwardingAnnotatedMember<T, Constructor<T>> implements AnnotatedConstructor<T>
-{
-
- @Override
- protected abstract AnnotatedConstructor<T> delegate();
-
- public List<AnnotatedParameter<?>> getAnnotatedParameters(Class<? extends Annotation> annotationType)
- {
- return delegate().getAnnotatedParameters(annotationType);
- }
-
- public AnnotatedType<T> getDeclaringClass()
- {
- return delegate().getDeclaringClass();
- }
-
- public List<? extends AnnotatedParameter<?>> getParameters()
- {
- return delegate().getParameters();
- }
-
- public T newInstance(Object... parameters) throws IllegalArgumentException, InstantiationException, IllegalAccessException, InvocationTargetException
- {
- return delegate().newInstance(parameters);
- }
-
- public ConstructorSignature getSignature()
- {
- return delegate().getSignature();
- }
-
-
-}
Deleted: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingAnnotatedField.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingAnnotatedField.java 2009-06-12 22:30:21 UTC (rev 2827)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingAnnotatedField.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -1,57 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.webbeans.introspector;
-
-import java.lang.reflect.Field;
-
-public abstract class ForwardingAnnotatedField<T> extends ForwardingAnnotatedMember<T, Field> implements AnnotatedField<T>
-{
-
- @Override
- protected abstract AnnotatedField<T> delegate();
-
- public T get(Object instance)
- {
- return delegate().get(instance);
- }
-
- public Field getAnnotatedField()
- {
- return delegate().getAnnotatedField();
- }
-
- public AnnotatedType<?> getDeclaringClass()
- {
- return delegate().getDeclaringClass();
- }
-
- public String getPropertyName()
- {
- return delegate().getPropertyName();
- }
-
- public void set(Object declaringInstance, Object value) throws IllegalArgumentException, IllegalAccessException
- {
- delegate().set(declaringInstance, value);
- }
-
- public boolean isTransient()
- {
- return delegate().isTransient();
- }
-
-}
Deleted: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingAnnotatedItem.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingAnnotatedItem.java 2009-06-12 22:30:21 UTC (rev 2827)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingAnnotatedItem.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -1,233 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.webbeans.introspector;
-
-import java.lang.annotation.Annotation;
-import java.lang.reflect.Type;
-import java.util.Set;
-
-/**
- * Provides an abstraction for delegating access to an annotated item
- *
- * @author Pete Muir
- *
- * @param <T>
- * @param <S>
- */
-public abstract class ForwardingAnnotatedItem<T, S> implements AnnotatedItem<T, S>
-{
-
- /**
- * @see org.jboss.webbeans.introspector.AnnotatedItem
- */
- public Type[] getActualTypeArguments()
- {
- return delegate().getActualTypeArguments();
- }
-
- /**
- * @see org.jboss.webbeans.introspector.AnnotatedItem
- */
- public <A extends Annotation> A getAnnotation(Class<A> annotationType)
- {
- return delegate().getAnnotation(annotationType);
- }
-
- /**
- * @see org.jboss.webbeans.introspector.AnnotatedItem
- */
- public Set<Annotation> getAnnotations()
- {
- return delegate().getAnnotations();
- }
-
- /**
- * @see org.jboss.webbeans.introspector.AnnotatedItem
- */
- public Set<Annotation> getMetaAnnotations(Class<? extends Annotation> metaAnnotationType)
- {
- return delegate().getMetaAnnotations(metaAnnotationType);
- }
-
- /**
- * @see org.jboss.webbeans.introspector.AnnotatedItem
- */
- public Annotation[] getMetaAnnotationsAsArray(Class<? extends Annotation> metaAnnotationType)
- {
- return delegate().getMetaAnnotationsAsArray(metaAnnotationType);
- }
-
- /**
- * @see org.jboss.webbeans.introspector.AnnotatedItem
- */
- @Deprecated
- public Set<Annotation> getBindings()
- {
- return delegate().getBindings();
- }
-
- /**
- * @see org.jboss.webbeans.introspector.AnnotatedItem
- */
- @Deprecated
- public Annotation[] getBindingsAsArray()
- {
- return delegate().getBindingsAsArray();
- }
-
- /**
- * @see org.jboss.webbeans.introspector.AnnotatedItem
- */
- public boolean isAnnotationPresent(Class<? extends Annotation> annotationType)
- {
- return delegate().isAnnotationPresent(annotationType);
- }
-
- public Set<Annotation> getDeclaredMetaAnnotations(Class<? extends Annotation> metaAnnotationType)
- {
- return delegate().getDeclaredMetaAnnotations(metaAnnotationType);
- }
-
- /**
- * @see org.jboss.webbeans.introspector.AnnotatedItem
- */
- public String getName()
- {
- return delegate().getName();
- }
-
- /**
- * @see org.jboss.webbeans.introspector.AnnotatedItem
- */
- public Class<T> getRawType()
- {
- return delegate().getRawType();
- }
-
- public Type getType()
- {
- return delegate().getType();
- }
-
- /**
- * @see org.jboss.webbeans.introspector.AnnotatedItem
- */
- public boolean isAssignableFrom(AnnotatedItem<?, ?> that)
- {
- return delegate().isAssignableFrom(that);
- }
-
- public boolean isAssignableFrom(Class<?> type, Type[] actualTypeArguments)
- {
- return delegate().isAssignableFrom(type, actualTypeArguments);
- }
-
- /**
- * @see org.jboss.webbeans.introspector.AnnotatedItem
- */
- public boolean isFinal()
- {
- return delegate().isFinal();
- }
-
- /**
- * @see org.jboss.webbeans.introspector.AnnotatedItem
- */
- public boolean isStatic()
- {
- return delegate().isStatic();
- }
-
- /**
- * @see org.jboss.webbeans.introspector.AnnotatedItem
- */
- public boolean isProxyable()
- {
- return delegate().isProxyable();
- }
-
- public boolean isPublic()
- {
- return delegate().isPublic();
- }
-
- /**
- * Overridden method into delegate
- *
- * @see org.jboss.webbeans.introspector.AnnotatedItem
- */
- @Override
- public boolean equals(Object obj)
- {
- return delegate().equals(obj);
- }
-
- /**
- * Overridden method into delegate
- *
- * @see org.jboss.webbeans.introspector.AnnotatedItem
- */
- @Override
- public int hashCode()
- {
- return delegate().hashCode();
- }
-
- /**
- * Overridden method into delegate
- *
- * @see org.jboss.webbeans.introspector.AnnotatedItem
- */
- @Override
- public String toString()
- {
- return delegate().toString();
- }
-
- /**
- * Gets the annotated item
- *
- * @return The annotated item
- */
- protected abstract AnnotatedItem<T, S> delegate();
-
- public AnnotationStore getAnnotationStore()
- {
- return delegate().getAnnotationStore();
- }
-
- public boolean isDeclaredAnnotationPresent(Class<? extends Annotation> annotationType)
- {
- return delegate().isDeclaredAnnotationPresent(annotationType);
- }
-
- public Set<Type> getFlattenedTypeHierarchy()
- {
- return delegate().getFlattenedTypeHierarchy();
- }
-
- public Set<Type> getInterfaceOnlyFlattenedTypeHierarchy()
- {
- return delegate().getInterfaceOnlyFlattenedTypeHierarchy();
- }
-
- public boolean isParameterizedType()
- {
- return delegate().isParameterizedType();
- }
-
-}
Deleted: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingAnnotatedMember.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingAnnotatedMember.java 2009-06-12 22:30:21 UTC (rev 2827)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingAnnotatedMember.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -1,32 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.webbeans.introspector;
-
-import java.lang.reflect.Member;
-
-public abstract class ForwardingAnnotatedMember<T, S extends Member> extends ForwardingAnnotatedItem<T, S> implements AnnotatedMember<T, S>
-{
-
- @Override
- protected abstract AnnotatedMember<T, S> delegate();
-
- public S getMember()
- {
- return delegate().getMember();
- }
-
-}
Deleted: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingAnnotatedMethod.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingAnnotatedMethod.java 2009-06-12 22:30:21 UTC (rev 2827)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingAnnotatedMethod.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -1,80 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.webbeans.introspector;
-
-import java.lang.annotation.Annotation;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.util.List;
-
-public abstract class ForwardingAnnotatedMethod<T> extends ForwardingAnnotatedMember<T, Method> implements AnnotatedMethod<T>
-{
-
- @Override
- protected abstract AnnotatedMethod<T> delegate();
-
- public Method getAnnotatedMethod()
- {
- return delegate().getAnnotatedMethod();
- }
-
- public List<AnnotatedParameter<?>> getAnnotatedParameters(Class<? extends Annotation> metaAnnotationType)
- {
- return delegate().getAnnotatedParameters(metaAnnotationType);
- }
-
- public AnnotatedType<?> getDeclaringClass()
- {
- return delegate().getDeclaringClass();
- }
-
- public Class<?>[] getParameterTypesAsArray()
- {
- return delegate().getParameterTypesAsArray();
- }
-
- public List<? extends AnnotatedParameter<?>> getParameters()
- {
- return delegate().getParameters();
- }
-
- public String getPropertyName()
- {
- return delegate().getPropertyName();
- }
-
- public T invoke(Object instance, Object... parameters) throws IllegalArgumentException, IllegalAccessException, InvocationTargetException
- {
- return delegate().invoke(instance, parameters);
- }
-
- public T invokeOnInstance(Object instance, Object... parameters) throws IllegalArgumentException, SecurityException, IllegalAccessException, InvocationTargetException, NoSuchMethodException
- {
- return delegate().invokeOnInstance(instance, parameters);
- }
-
- public boolean isEquivalent(Method method)
- {
- return delegate().isEquivalent(method);
- }
-
- public MethodSignature getSignature()
- {
- return delegate().getSignature();
- }
-
-}
Deleted: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingAnnotatedParameter.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingAnnotatedParameter.java 2009-06-12 22:30:21 UTC (rev 2827)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingAnnotatedParameter.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -1,32 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.webbeans.introspector;
-
-
-public abstract class ForwardingAnnotatedParameter<T> extends ForwardingAnnotatedItem<T, Object> implements AnnotatedParameter<T>
-{
-
- @Override
- protected abstract AnnotatedParameter<T> delegate();
-
- public AnnotatedMember<?, ?> getDeclaringMember()
- {
- return delegate().getDeclaringMember();
- }
-
-
-}
Deleted: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingAnnotatedType.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingAnnotatedType.java 2009-06-12 22:30:21 UTC (rev 2827)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingAnnotatedType.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -1,40 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.webbeans.introspector;
-
-public abstract class ForwardingAnnotatedType<T> extends ForwardingAnnotatedItem<T, Class<T>> implements AnnotatedType<T>
-{
-
- @Override
- protected abstract AnnotatedType<T> delegate();
-
- public AnnotatedType<?> getSuperclass()
- {
- return delegate().getSuperclass();
- }
-
- public boolean isEquivalent(Class<?> clazz)
- {
- return delegate().isEquivalent(clazz);
- }
-
- public String getSimpleName()
- {
- return delegate().getSimpleName();
- }
-
-}
Copied: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingWBAnnotated.java (from rev 2827, ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingAnnotatedItem.java)
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingWBAnnotated.java (rev 0)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingWBAnnotated.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -0,0 +1,233 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.webbeans.introspector;
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Type;
+import java.util.Set;
+
+/**
+ * Provides an abstraction for delegating access to an annotated item
+ *
+ * @author Pete Muir
+ *
+ * @param <T>
+ * @param <S>
+ */
+public abstract class ForwardingWBAnnotated<T, S> implements WBAnnotated<T, S>
+{
+
+ /**
+ * @see org.jboss.webbeans.introspector.WBAnnotated
+ */
+ public Type[] getActualTypeArguments()
+ {
+ return delegate().getActualTypeArguments();
+ }
+
+ /**
+ * @see org.jboss.webbeans.introspector.WBAnnotated
+ */
+ public <A extends Annotation> A getAnnotation(Class<A> annotationType)
+ {
+ return delegate().getAnnotation(annotationType);
+ }
+
+ /**
+ * @see org.jboss.webbeans.introspector.WBAnnotated
+ */
+ public Set<Annotation> getAnnotations()
+ {
+ return delegate().getAnnotations();
+ }
+
+ /**
+ * @see org.jboss.webbeans.introspector.WBAnnotated
+ */
+ public Set<Annotation> getMetaAnnotations(Class<? extends Annotation> metaAnnotationType)
+ {
+ return delegate().getMetaAnnotations(metaAnnotationType);
+ }
+
+ /**
+ * @see org.jboss.webbeans.introspector.WBAnnotated
+ */
+ public Annotation[] getMetaAnnotationsAsArray(Class<? extends Annotation> metaAnnotationType)
+ {
+ return delegate().getMetaAnnotationsAsArray(metaAnnotationType);
+ }
+
+ /**
+ * @see org.jboss.webbeans.introspector.WBAnnotated
+ */
+ @Deprecated
+ public Set<Annotation> getBindings()
+ {
+ return delegate().getBindings();
+ }
+
+ /**
+ * @see org.jboss.webbeans.introspector.WBAnnotated
+ */
+ @Deprecated
+ public Annotation[] getBindingsAsArray()
+ {
+ return delegate().getBindingsAsArray();
+ }
+
+ /**
+ * @see org.jboss.webbeans.introspector.WBAnnotated
+ */
+ public boolean isAnnotationPresent(Class<? extends Annotation> annotationType)
+ {
+ return delegate().isAnnotationPresent(annotationType);
+ }
+
+ public Set<Annotation> getDeclaredMetaAnnotations(Class<? extends Annotation> metaAnnotationType)
+ {
+ return delegate().getDeclaredMetaAnnotations(metaAnnotationType);
+ }
+
+ /**
+ * @see org.jboss.webbeans.introspector.WBAnnotated
+ */
+ public String getName()
+ {
+ return delegate().getName();
+ }
+
+ /**
+ * @see org.jboss.webbeans.introspector.WBAnnotated
+ */
+ public Class<T> getRawType()
+ {
+ return delegate().getRawType();
+ }
+
+ public Type getType()
+ {
+ return delegate().getType();
+ }
+
+ /**
+ * @see org.jboss.webbeans.introspector.WBAnnotated
+ */
+ public boolean isAssignableFrom(WBAnnotated<?, ?> that)
+ {
+ return delegate().isAssignableFrom(that);
+ }
+
+ public boolean isAssignableFrom(Class<?> type, Type[] actualTypeArguments)
+ {
+ return delegate().isAssignableFrom(type, actualTypeArguments);
+ }
+
+ /**
+ * @see org.jboss.webbeans.introspector.WBAnnotated
+ */
+ public boolean isFinal()
+ {
+ return delegate().isFinal();
+ }
+
+ /**
+ * @see org.jboss.webbeans.introspector.WBAnnotated
+ */
+ public boolean isStatic()
+ {
+ return delegate().isStatic();
+ }
+
+ /**
+ * @see org.jboss.webbeans.introspector.WBAnnotated
+ */
+ public boolean isProxyable()
+ {
+ return delegate().isProxyable();
+ }
+
+ public boolean isPublic()
+ {
+ return delegate().isPublic();
+ }
+
+ /**
+ * Overridden method into delegate
+ *
+ * @see org.jboss.webbeans.introspector.WBAnnotated
+ */
+ @Override
+ public boolean equals(Object obj)
+ {
+ return delegate().equals(obj);
+ }
+
+ /**
+ * Overridden method into delegate
+ *
+ * @see org.jboss.webbeans.introspector.WBAnnotated
+ */
+ @Override
+ public int hashCode()
+ {
+ return delegate().hashCode();
+ }
+
+ /**
+ * Overridden method into delegate
+ *
+ * @see org.jboss.webbeans.introspector.WBAnnotated
+ */
+ @Override
+ public String toString()
+ {
+ return delegate().toString();
+ }
+
+ /**
+ * Gets the annotated item
+ *
+ * @return The annotated item
+ */
+ protected abstract WBAnnotated<T, S> delegate();
+
+ public AnnotationStore getAnnotationStore()
+ {
+ return delegate().getAnnotationStore();
+ }
+
+ public boolean isDeclaredAnnotationPresent(Class<? extends Annotation> annotationType)
+ {
+ return delegate().isDeclaredAnnotationPresent(annotationType);
+ }
+
+ public Set<Type> getFlattenedTypeHierarchy()
+ {
+ return delegate().getFlattenedTypeHierarchy();
+ }
+
+ public Set<Type> getInterfaceOnlyFlattenedTypeHierarchy()
+ {
+ return delegate().getInterfaceOnlyFlattenedTypeHierarchy();
+ }
+
+ public boolean isParameterizedType()
+ {
+ return delegate().isParameterizedType();
+ }
+
+}
Property changes on: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingWBAnnotated.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Copied: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingWBAnnotation.java (from rev 2821, ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingAnnotatedAnnotation.java)
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingWBAnnotation.java (rev 0)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingWBAnnotation.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -0,0 +1,38 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.webbeans.introspector;
+
+import java.lang.annotation.Annotation;
+import java.util.Set;
+
+public abstract class ForwardingWBAnnotation<T extends Annotation> extends ForwardingWBType<T> implements WBAnnotation<T>
+{
+
+ @Override
+ protected abstract WBAnnotation<T> delegate();
+
+ public Set<WBMethod<?>> getAnnotatedMembers(Class<? extends Annotation> annotationType)
+ {
+ return delegate().getAnnotatedMembers(annotationType);
+ }
+
+ public Set<WBMethod<?>> getMembers()
+ {
+ return delegate().getMembers();
+ }
+
+}
Property changes on: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingWBAnnotation.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Copied: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingWBClass.java (from rev 2823, ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingAnnotatedClass.java)
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingWBClass.java (rev 0)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingWBClass.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -0,0 +1,152 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.webbeans.introspector;
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Method;
+import java.util.Set;
+
+public abstract class ForwardingWBClass<T> extends ForwardingWBType<T> implements WBClass<T>
+{
+
+ protected abstract WBClass<T> delegate();
+
+ public Set<WBConstructor<T>> getAnnotatedConstructors(Class<? extends Annotation> annotationType)
+ {
+ return delegate().getAnnotatedConstructors(annotationType);
+ }
+
+ public Set<WBField<?>> getAnnotatedFields(Class<? extends Annotation> annotationType)
+ {
+ return delegate().getAnnotatedFields(annotationType);
+ }
+
+ public Set<WBMethod<?>> getAnnotatedMethods(Class<? extends Annotation> annotationType)
+ {
+ return delegate().getAnnotatedMethods(annotationType);
+ }
+
+ public WBConstructor<T> getNoArgsConstructor()
+ {
+ return delegate().getNoArgsConstructor();
+ }
+
+ public Set<WBConstructor<T>> getConstructors()
+ {
+ return delegate().getConstructors();
+ }
+
+ public Set<WBField<?>> getDeclaredAnnotatedFields(Class<? extends Annotation> annotationType)
+ {
+ return delegate().getDeclaredAnnotatedFields(annotationType);
+ }
+
+ public Set<WBMethod<?>> getDeclaredAnnotatedMethods(Class<? extends Annotation> annotationType)
+ {
+ return delegate().getDeclaredAnnotatedMethods(annotationType);
+ }
+
+ public Set<WBMethod<?>> getDeclaredMethodsWithAnnotatedParameters(Class<? extends Annotation> annotationType)
+ {
+ return delegate().getDeclaredMethodsWithAnnotatedParameters(annotationType);
+ }
+
+ public Set<WBField<?>> getFields()
+ {
+ return delegate().getFields();
+ }
+
+ public Set<WBField<?>> getMetaAnnotatedFields(Class<? extends Annotation> metaAnnotationType)
+ {
+ return delegate().getMetaAnnotatedFields(metaAnnotationType);
+ }
+
+ @Deprecated
+ public WBMethod<?> getMethod(Method method)
+ {
+ return delegate().getMethod(method);
+ }
+
+ public Set<WBMethod<?>> getMethodsWithAnnotatedParameters(Class<? extends Annotation> annotationType)
+ {
+ return delegate().getMethodsWithAnnotatedParameters(annotationType);
+ }
+
+ public Set<WBConstructor<?>> getConstructorsWithAnnotatedParameters(Class<? extends Annotation> annotationType)
+ {
+ return delegate().getConstructorsWithAnnotatedParameters(annotationType);
+ }
+
+ public WBClass<?> getSuperclass()
+ {
+ return delegate().getSuperclass();
+ }
+
+ public boolean isNonStaticMemberClass()
+ {
+ return delegate().isNonStaticMemberClass();
+ }
+
+ public boolean isParameterizedType()
+ {
+ return delegate().isParameterizedType();
+ }
+
+ public boolean isAbstract()
+ {
+ return delegate().isAbstract();
+ }
+
+ public boolean isEnum()
+ {
+ return delegate().isEnum();
+ }
+
+ @Deprecated
+ public WBMethod<?> getDeclaredMethod(Method method)
+ {
+ return delegate().getDeclaredMethod(method);
+ }
+
+ public <F> WBField<F> getDeclaredField(String fieldName, WBClass<F> expectedType)
+ {
+ return delegate().getDeclaredField(fieldName, expectedType);
+ }
+
+ public <M> WBMethod<M> getDeclaredMethod(MethodSignature signature, WBClass<M> expectedReturnType)
+ {
+ return delegate().getDeclaredMethod(signature, expectedReturnType);
+ }
+
+ public WBConstructor<T> getDeclaredConstructor(ConstructorSignature signature)
+ {
+ return delegate().getDeclaredConstructor(signature);
+ }
+
+ public <U> WBClass<? extends U> asSubclass(WBClass<U> clazz)
+ {
+ return delegate().asSubclass(clazz);
+ }
+
+ public <S> S cast(Object object)
+ {
+ return delegate().<S>cast(object);
+ }
+
+
+
+}
Property changes on: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingWBClass.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Copied: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingWBConstructor.java (from rev 2821, ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingAnnotatedConstructor.java)
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingWBConstructor.java (rev 0)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingWBConstructor.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -0,0 +1,56 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.webbeans.introspector;
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Constructor;
+import java.lang.reflect.InvocationTargetException;
+import java.util.List;
+
+public abstract class ForwardingWBConstructor<T> extends ForwardingWBMember<T, Constructor<T>> implements WBConstructor<T>
+{
+
+ @Override
+ protected abstract WBConstructor<T> delegate();
+
+ public List<WBParameter<?>> getAnnotatedParameters(Class<? extends Annotation> annotationType)
+ {
+ return delegate().getAnnotatedParameters(annotationType);
+ }
+
+ public WBType<T> getDeclaringClass()
+ {
+ return delegate().getDeclaringClass();
+ }
+
+ public List<? extends WBParameter<?>> getParameters()
+ {
+ return delegate().getParameters();
+ }
+
+ public T newInstance(Object... parameters) throws IllegalArgumentException, InstantiationException, IllegalAccessException, InvocationTargetException
+ {
+ return delegate().newInstance(parameters);
+ }
+
+ public ConstructorSignature getSignature()
+ {
+ return delegate().getSignature();
+ }
+
+
+}
Property changes on: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingWBConstructor.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Copied: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingWBField.java (from rev 2821, ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingAnnotatedField.java)
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingWBField.java (rev 0)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingWBField.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -0,0 +1,57 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.webbeans.introspector;
+
+import java.lang.reflect.Field;
+
+public abstract class ForwardingWBField<T> extends ForwardingWBMember<T, Field> implements WBField<T>
+{
+
+ @Override
+ protected abstract WBField<T> delegate();
+
+ public T get(Object instance)
+ {
+ return delegate().get(instance);
+ }
+
+ public Field getAnnotatedField()
+ {
+ return delegate().getAnnotatedField();
+ }
+
+ public WBType<?> getDeclaringClass()
+ {
+ return delegate().getDeclaringClass();
+ }
+
+ public String getPropertyName()
+ {
+ return delegate().getPropertyName();
+ }
+
+ public void set(Object declaringInstance, Object value) throws IllegalArgumentException, IllegalAccessException
+ {
+ delegate().set(declaringInstance, value);
+ }
+
+ public boolean isTransient()
+ {
+ return delegate().isTransient();
+ }
+
+}
Property changes on: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingWBField.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Copied: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingWBMember.java (from rev 2821, ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingAnnotatedMember.java)
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingWBMember.java (rev 0)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingWBMember.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -0,0 +1,32 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.webbeans.introspector;
+
+import java.lang.reflect.Member;
+
+public abstract class ForwardingWBMember<T, S extends Member> extends ForwardingWBAnnotated<T, S> implements WBMember<T, S>
+{
+
+ @Override
+ protected abstract WBMember<T, S> delegate();
+
+ public S getMember()
+ {
+ return delegate().getMember();
+ }
+
+}
Property changes on: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingWBMember.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Copied: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingWBMethod.java (from rev 2821, ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingAnnotatedMethod.java)
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingWBMethod.java (rev 0)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingWBMethod.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -0,0 +1,80 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.webbeans.introspector;
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.util.List;
+
+public abstract class ForwardingWBMethod<T> extends ForwardingWBMember<T, Method> implements WBMethod<T>
+{
+
+ @Override
+ protected abstract WBMethod<T> delegate();
+
+ public Method getAnnotatedMethod()
+ {
+ return delegate().getAnnotatedMethod();
+ }
+
+ public List<WBParameter<?>> getAnnotatedParameters(Class<? extends Annotation> metaAnnotationType)
+ {
+ return delegate().getAnnotatedParameters(metaAnnotationType);
+ }
+
+ public WBType<?> getDeclaringClass()
+ {
+ return delegate().getDeclaringClass();
+ }
+
+ public Class<?>[] getParameterTypesAsArray()
+ {
+ return delegate().getParameterTypesAsArray();
+ }
+
+ public List<? extends WBParameter<?>> getParameters()
+ {
+ return delegate().getParameters();
+ }
+
+ public String getPropertyName()
+ {
+ return delegate().getPropertyName();
+ }
+
+ public T invoke(Object instance, Object... parameters) throws IllegalArgumentException, IllegalAccessException, InvocationTargetException
+ {
+ return delegate().invoke(instance, parameters);
+ }
+
+ public T invokeOnInstance(Object instance, Object... parameters) throws IllegalArgumentException, SecurityException, IllegalAccessException, InvocationTargetException, NoSuchMethodException
+ {
+ return delegate().invokeOnInstance(instance, parameters);
+ }
+
+ public boolean isEquivalent(Method method)
+ {
+ return delegate().isEquivalent(method);
+ }
+
+ public MethodSignature getSignature()
+ {
+ return delegate().getSignature();
+ }
+
+}
Property changes on: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingWBMethod.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Copied: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingWBParameter.java (from rev 2821, ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingAnnotatedParameter.java)
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingWBParameter.java (rev 0)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingWBParameter.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -0,0 +1,32 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.webbeans.introspector;
+
+
+public abstract class ForwardingWBParameter<T> extends ForwardingWBAnnotated<T, Object> implements WBParameter<T>
+{
+
+ @Override
+ protected abstract WBParameter<T> delegate();
+
+ public WBMember<?, ?> getDeclaringMember()
+ {
+ return delegate().getDeclaringMember();
+ }
+
+
+}
Property changes on: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingWBParameter.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Copied: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingWBType.java (from rev 2821, ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingAnnotatedType.java)
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingWBType.java (rev 0)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingWBType.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -0,0 +1,40 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.webbeans.introspector;
+
+public abstract class ForwardingWBType<T> extends ForwardingWBAnnotated<T, Class<T>> implements WBType<T>
+{
+
+ @Override
+ protected abstract WBType<T> delegate();
+
+ public WBType<?> getSuperclass()
+ {
+ return delegate().getSuperclass();
+ }
+
+ public boolean isEquivalent(Class<?> clazz)
+ {
+ return delegate().isEquivalent(clazz);
+ }
+
+ public String getSimpleName()
+ {
+ return delegate().getSimpleName();
+ }
+
+}
Property changes on: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/ForwardingWBType.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Copied: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WBAnnotated.java (from rev 2827, ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/AnnotatedItem.java)
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WBAnnotated.java (rev 0)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WBAnnotated.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -0,0 +1,225 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.webbeans.introspector;
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Type;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Set;
+
+import javax.enterprise.context.ScopeType;
+import javax.enterprise.inject.BindingType;
+import javax.enterprise.inject.Stereotype;
+import javax.enterprise.inject.deployment.DeploymentType;
+
+/**
+ * AnnotatedItem provides a uniform access to the annotations on an annotated
+ * item defined either in Java or XML
+ *
+ * @author Pete Muir
+ *
+ */
+public interface WBAnnotated<T, S>
+{
+
+// The set of meta-annotations to map
+ @SuppressWarnings("unchecked")
+ public static final Set<Class<? extends Annotation>> MAPPED_METAANNOTATIONS = new HashSet<Class<? extends Annotation>>(Arrays.asList(BindingType.class, DeploymentType.class, Stereotype.class, ScopeType.class));
+
+ /**
+ * Gets all annotations on the item
+ *
+ * @return A set of annotations. Returns an empty set if there are no
+ * matches.
+ */
+ public <A extends Annotation> Set<A> getAnnotations();
+
+ /**
+ * Gets all annotations which are annotated with the given meta annotation
+ * type
+ *
+ * @param The meta annotation to match
+ * @return A set of matching meta-annotations. Returns an empty set if there
+ * are no matches.
+ */
+ public Set<Annotation> getMetaAnnotations(Class<? extends Annotation> metaAnnotationType);
+
+ /**
+ * Gets all annotations which are declared on this annotated item
+ * with the given meta annotation type
+ *
+ * @param The meta annotation to match
+ * @return A set of matching meta-annotations. Returns an empty set if there
+ * are no matches.
+ */
+ public Set<Annotation> getDeclaredMetaAnnotations(Class<? extends Annotation> metaAnnotationType);
+
+ /**
+ * Gets all annotations which are annotated with the given meta annotation
+ * type
+ *
+ * @param The meta annotation to match
+ * @return An array of matching meta-annotations. Returns an empty array if
+ * there are no matches.
+ */
+ public Annotation[] getMetaAnnotationsAsArray(Class<? extends Annotation> metaAnnotationType);
+
+ /**
+ * Gets the binding types for this element
+ *
+ * @returns A set of binding types present on the type. Returns an empty set
+ * if there are no matches.
+ * @deprecated This reflection type should not know about JSR-299 binding types
+ */
+ @Deprecated
+ public Set<Annotation> getBindings();
+
+ /**
+ * Gets the binding types for this element
+ *
+ * @returns An array of binding types present on the type. Returns an empty
+ * array if there are no matches.
+ * @deprecated This reflection type should not know about JSR-299 binding types
+ */
+ @Deprecated
+ public Annotation[] getBindingsAsArray();
+
+ /**
+ * Gets an annotation for the annotation type specified.
+ *
+ * @param annotationType The annotation to match
+ * @return An annotation if found, null if the annotation wasn't present.
+ */
+ public <A extends Annotation> A getAnnotation(Class<A> annotationType);
+
+ /**
+ * Get the whole type hierarchy as a set of flattened types.
+ *
+ * The returned types should have any type parameters resolved to their
+ * actual types.
+ *
+ * @return the type hierarchy
+ */
+ public Set<Type> getFlattenedTypeHierarchy();
+
+ /**
+ * Get the type hierarchy of any interfaces implemented by this class.
+ *
+ * Interface hierarchies from super classes are not included.
+ *
+ * The returned types should have any type parameters resolved to their
+ * actual types.
+ *
+ * @return the type hierarchy
+ */
+ public Set<Type> getInterfaceOnlyFlattenedTypeHierarchy();
+
+ /**
+ * Indicates if an annotation type specified is present
+ *
+ * @param annotationType The annotation to match
+ * @return True if present, false if not
+ */
+ public boolean isAnnotationPresent(Class<? extends Annotation> annotationType);
+
+ /**
+ * Indicates if an annotation type specified is present
+ *
+ * @param annotationType The annotation to match
+ * @return True if present, false if not
+ */
+ public boolean isDeclaredAnnotationPresent(Class<? extends Annotation> annotationType);
+
+ /**
+ * Gets the type of the element
+ *
+ * @return The type of the element
+ */
+ public Class<T> getRawType();
+
+ public Type getType();
+
+ /**
+ * Extends Java Class assignability such that actual type parameters are also
+ * considered
+ *
+ * @param that The other item to check assignability against
+ * @return True if assignable, false otherwise.
+ */
+ public boolean isAssignableFrom(WBAnnotated<?, ?> that);
+
+ /**
+ * Extends Java Class assignability such that actual type parameters are also
+ * considered
+ *
+ * @param type The type to compare against
+ * @param actualTypeArguments The type arguments
+ * @return True is assignable, false otherwise
+ */
+ public boolean isAssignableFrom(Class<?> type, Type[] actualTypeArguments);
+
+ /**
+ * Gets the actual type arguments for any parameterized types that this
+ * AnnotatedItem represents.
+ *
+ * @return An array of type arguments
+ */
+ public Type[] getActualTypeArguments();
+
+ /**
+ * Indicates if this AnnotatedItem represents a static element
+ *
+ * @return True if static, false otherwise
+ */
+ public boolean isStatic();
+
+ /**
+ * Indicates if this AnnotatedItem represents a final element
+ * @return True if final, false otherwise
+ */
+ public boolean isFinal();
+
+ /**
+ * Indicates if this AnnotatedItem can be proxyed
+ *
+ * @return True if proxyable, false otherwise
+ */
+ public boolean isProxyable();
+
+ /**
+ * Indicates if this annotated item is public
+ *
+ * @return if public, returns true
+ */
+ public boolean isPublic();
+
+ /**
+ * Gets the name of this AnnotatedItem
+ *
+ * If it is not possible to determine the name of the underling element, a
+ * IllegalArgumentException is thrown
+ *
+ * @return The name
+ */
+ public String getName();
+
+ public AnnotationStore getAnnotationStore();
+
+ public boolean isParameterizedType();
+
+}
\ No newline at end of file
Copied: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WBAnnotation.java (from rev 2821, ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/AnnotatedAnnotation.java)
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WBAnnotation.java (rev 0)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WBAnnotation.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -0,0 +1,55 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.webbeans.introspector;
+
+import java.lang.annotation.Annotation;
+import java.util.Set;
+
+/**
+ * Represents a meta annotation
+ *
+ * @author Pete Muir
+ *
+ */
+public interface WBAnnotation<T extends Annotation> extends WBType<T>
+{
+ /**
+ * Gets all members
+ *
+ * @return A set of abstracted members
+ */
+ public Set<WBMethod<?>> getMembers();
+
+ /**
+ * Gets all the members annotated with annotationType
+ *
+ * @param annotationType The annotation type to match
+ * @return A set of abstracted members with the annotation type
+ */
+ public Set<WBMethod<?>> getAnnotatedMembers(Class<? extends Annotation> annotationType);
+
+ /**
+ * Get an annotation member by name
+ *
+ * @param memberName
+ * @return
+ */
+ public <A> WBMethod<A> getMember(String memberName, WBClass<A> expectedType);
+
+ public Class<T> getRawType();
+
+}
Property changes on: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WBAnnotation.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Copied: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WBClass.java (from rev 2823, ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/AnnotatedClass.java)
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WBClass.java (rev 0)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WBClass.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -0,0 +1,203 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.webbeans.introspector;
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Method;
+import java.util.Set;
+
+/**
+ * Represents a Class
+ *
+ * @author Pete Muir
+ *
+ */
+public interface WBClass<T> extends WBType<T>
+{
+
+ /**
+ * Gets all fields on the type
+ *
+ * @return A set of abstracted fields
+ */
+ public Set<WBField<?>> getFields();
+
+ /**
+ * Get a field by name
+ *
+ * @param <F> the expected type of the field
+ * @param fieldName the field name
+ * @param expectedType the expected type of the field
+ * @return the field
+ */
+ public <F> WBField<F> getDeclaredField(String fieldName, WBClass<F> expectedType);
+
+ /**
+ * Gets all fields which are annotated with the given annotation type on this
+ * class and all super classes
+ *
+ * @param annotationType The annotation to match
+ * @return A set of abstracted fields with the given annotation. Returns an
+ * empty set if there are no matches
+ */
+ public Set<WBField<?>> getAnnotatedFields(Class<? extends Annotation> annotationType);
+
+ /**
+ * Gets all fields which are annotated with the given annotation type on this
+ * class only.
+ *
+ * @param annotationType The annotation to match
+ * @return A set of abstracted fields with the given annotation. Returns an
+ * empty set if there are no matches
+ */
+ public Set<WBField<?>> getDeclaredAnnotatedFields(Class<? extends Annotation> annotationType);
+
+ /**
+ * Gets all fields which are meta-annotated with metaAnnotationType
+ *
+ * @param metaAnnotationType The meta annotation to match
+ * @return A set of abstracted fields with the given meta-annotation. Returns
+ * an empty set if there are no matches
+ */
+ public Set<WBField<?>> getMetaAnnotatedFields(Class<? extends Annotation> metaAnnotationType);
+
+ /**
+ * Gets all constructors which are annotated with annotationType
+ *
+ * @param annotationType The annotation type to match
+ * @return A set of abstracted fields with the given annotation. Returns an
+ * empty set if there are no matches
+ */
+ public Set<WBConstructor<T>> getAnnotatedConstructors(Class<? extends Annotation> annotationType);
+
+ /**
+ * Gets all constructors
+ *
+ * @return A set of abstracted constructors
+ */
+ public Set<WBConstructor<T>> getConstructors();
+
+ /**
+ * Gets the no-args constructor
+ *
+ * @return The no-args constructor, or null if not defined
+ */
+ public WBConstructor<T> getNoArgsConstructor();
+
+ /**
+ * Get the constructor which matches the argument list provided
+ *
+ * @param parameterTypes the parameters of the constructor
+ * @return the matching constructor, or null if not defined
+ */
+ public WBConstructor<T> getDeclaredConstructor(ConstructorSignature signature);
+
+ /**
+ * Gets all methods annotated with annotationType
+ *
+ * @param annotationType The annotation to match
+ * @return A set of abstracted methods with the given annotation. Returns an
+ * empty set if there are no matches
+ */
+ public Set<WBMethod<?>> getAnnotatedMethods(Class<? extends Annotation> annotationType);
+
+ /**
+ * Gets all methods annotated with annotationType
+ *
+ * @param annotationType The annotation to match
+ * @return A set of abstracted methods with the given annotation. Returns an
+ * empty set if there are no matches
+ */
+ public Set<WBMethod<?>> getDeclaredAnnotatedMethods(Class<? extends Annotation> annotationType);
+
+ /**
+ * Find the annotated method for a given methodDescriptor
+ *
+ * @param methodDescriptor
+ * @return
+ *
+ * TODO Replace with AnnotatedMethod variant
+ */
+ @Deprecated
+ public WBMethod<?> getMethod(Method method);
+
+ /**
+ * Get a method by name
+ *
+ * @param <M> the expected return type
+ * @param signature the name of the method
+ * @param expectedReturnType the expected return type
+ * @return the method, or null if it doesn't exist
+ */
+ public <M> WBMethod<M> getDeclaredMethod(MethodSignature signature, WBClass<M> expectedReturnType);
+
+ // TODO Replace with AnnotatedMethod variant
+ @Deprecated
+ public WBMethod<?> getDeclaredMethod(Method method);
+
+ /**
+ * Gets all with parameters annotated with annotationType
+ *
+ * @param annotationType The annotation to match
+ * @return A set of abstracted methods with the given annotation. Returns an
+ * empty set if there are no matches
+ */
+ public Set<WBMethod<?>> getMethodsWithAnnotatedParameters(Class<? extends Annotation> annotationType);
+
+ /**
+ * Gets all with constructors annotated with annotationType
+ *
+ * @param annotationType The annotation to match
+ * @return A set of abstracted constructors with the given annotation. Returns an
+ * empty set if there are no matches
+ */
+ public Set<WBConstructor<?>> getConstructorsWithAnnotatedParameters(Class<? extends Annotation> annotationType);
+
+ /**
+ * Gets all with parameters annotated with annotationType
+ *
+ * @param annotationType The annotation to match
+ * @return A set of abstracted methods with the given annotation. Returns an
+ * empty set if there are no matches
+ */
+ public Set<WBMethod<?>> getDeclaredMethodsWithAnnotatedParameters(Class<? extends Annotation> annotationType);
+
+ /**
+ * Gets the superclass.
+ *
+ * @return The abstracted superclass, null if there is no superclass
+ */
+ public WBClass<?> getSuperclass();
+
+ /**
+ * Determine if this is a non-static member class
+ *
+ * @return true if this is a non-static member
+ */
+ public boolean isNonStaticMemberClass();
+
+ public boolean isParameterizedType();
+
+ public boolean isAbstract();
+
+ public boolean isEnum();
+
+ public <S> S cast(Object object);
+
+ public <U> WBClass<? extends U> asSubclass(WBClass<U> clazz);
+
+}
\ No newline at end of file
Property changes on: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WBClass.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Copied: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WBConstructor.java (from rev 2823, ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/AnnotatedConstructor.java)
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WBConstructor.java (rev 0)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WBConstructor.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -0,0 +1,75 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.webbeans.introspector;
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Constructor;
+import java.lang.reflect.InvocationTargetException;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import javax.decorator.Decorates;
+
+/**
+ * Represents a Class Constructor
+ *
+ * @author Pete Muir
+ *
+ */
+public interface WBConstructor<T> extends WBMember<T, Constructor<T>>
+{
+
+ @SuppressWarnings("unchecked")
+ public static final Set<Class<? extends Annotation>> MAPPED_PARAMETER_ANNOTATIONS = new HashSet<Class<? extends Annotation>>(Arrays.asList(Decorates.class));
+
+ /**
+ * Gets all parameters to the constructor
+ *
+ * @return A set of abstracted parameters. Returns an empty set if there are
+ * no parameters
+ */
+ public List<? extends WBParameter<?>> getParameters();
+
+ /**
+ * Gets all parameters to the constructor which are annotated with
+ * annotationType
+ *
+ * @param annotationType A annotation to match
+ * @return A list of abstracted parameters with the given annotation type.
+ * Returns an empty set if there are no matches.
+ */
+ public List<WBParameter<?>> getAnnotatedParameters(Class<? extends Annotation> annotationType);
+
+ /**
+ * Creates a new instance of the class, using this constructor
+ *
+ * @return The created instance
+ */
+ public T newInstance(Object... parameters) throws IllegalArgumentException, InstantiationException, IllegalAccessException, InvocationTargetException;
+
+ /**
+ * Gets the declaring class of the annotation
+ *
+ * @return An abstraction of the declaring class
+ */
+ public WBType<T> getDeclaringClass();
+
+ public ConstructorSignature getSignature();
+
+}
Property changes on: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WBConstructor.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Copied: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WBField.java (from rev 2821, ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/AnnotatedField.java)
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WBField.java (rev 0)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WBField.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -0,0 +1,65 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.webbeans.introspector;
+
+import java.lang.reflect.Field;
+
+/**
+ * AnnotatedField provides a uniform access to the annotations on an annotated
+ * field
+ *
+ * @author Pete Muir
+ *
+ */
+public interface WBField<T> extends WBMember<T, Field>
+{
+
+ /**
+ * Gets the annotated field
+ *
+ * @return The annotated field
+ */
+ public Field getAnnotatedField();
+
+ /**
+ * Injects an instance
+ *
+ *
+ * @param declaringInstance The instance to inject into
+ * @param value The value to inject
+ */
+ public void set(Object declaringInstance, Object value) throws IllegalArgumentException, IllegalAccessException;
+
+ public T get(Object instance);
+
+ /**
+ * Gets an abstraction of the declaring class
+ *
+ * @return The declaring class
+ */
+ public WBType<?> getDeclaringClass();
+
+ /**
+ * Gets the property name of the field
+ *
+ * @return The name
+ */
+ public String getPropertyName();
+
+ public boolean isTransient();
+
+}
Property changes on: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WBField.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Copied: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WBMember.java (from rev 2821, ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/AnnotatedMember.java)
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WBMember.java (rev 0)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WBMember.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -0,0 +1,38 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.webbeans.introspector;
+
+import java.lang.reflect.Member;
+/**
+ * AnnotedMember provides enhanced access to an annotated member
+ *
+ * @author Pete Muir
+ *
+ */
+public interface WBMember<T, S extends Member> extends WBAnnotated<T, S>
+{
+
+ public S getMember();
+
+ /**
+ * Gets an abstraction of the declaring class
+ *
+ * @return The declaring class
+ */
+ public WBType<?> getDeclaringClass();
+
+}
Property changes on: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WBMember.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Copied: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WBMethod.java (from rev 2823, ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/AnnotatedMethod.java)
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WBMethod.java (rev 0)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WBMethod.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -0,0 +1,115 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.webbeans.introspector;
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import javax.enterprise.inject.Disposes;
+import javax.event.AfterTransactionCompletion;
+import javax.event.AfterTransactionFailure;
+import javax.event.AfterTransactionSuccess;
+import javax.event.Asynchronously;
+import javax.event.BeforeTransactionCompletion;
+import javax.event.IfExists;
+import javax.event.Observes;
+
+/**
+ * AnnotatedType provides a uniform access to the annotations on an annotated
+ * class defined either in Java or XML
+ *
+ * @author Pete Muir
+ *
+ */
+public interface WBMethod<T> extends WBMember<T, Method>
+{
+ @SuppressWarnings("unchecked")
+ public static final Set<Class<? extends Annotation>> MAPPED_PARAMETER_ANNOTATIONS = new HashSet<Class<? extends Annotation>>(Arrays.asList(Disposes.class, Observes.class, IfExists.class, BeforeTransactionCompletion.class, AfterTransactionCompletion.class, AfterTransactionFailure.class, AfterTransactionSuccess.class, Asynchronously.class, Disposes.class));
+
+ /**
+ * Gets the abstracted parameters of the method
+ *
+ * @return A list of parameters. Returns an empty list if no parameters are
+ * present.
+ */
+ public List<? extends WBParameter<?>> getParameters();
+
+ /**
+ * Gets the list of annotated parameters for a given annotation
+ *
+ * @param metaAnnotationType The annotation to match
+ * @return A set of matching parameter abstractions. Returns an empty list if
+ * there are no matches.
+ */
+ public List<WBParameter<?>> getAnnotatedParameters(Class<? extends Annotation> metaAnnotationType);
+
+ /**
+ * Get the parameter types as an array
+ */
+ public Class<?>[] getParameterTypesAsArray();
+
+ /**
+ * Invokes the method
+ *
+ * @param instance The instance to invoke
+ * @param parameters The method parameters
+ * @return A reference to the instance
+ */
+ public T invoke(Object instance, Object... parameters) throws IllegalArgumentException, IllegalAccessException, InvocationTargetException;
+
+ /**
+ * Invokes the method on the class of the passed instance, not the declaring
+ * class. Useful with proxies
+ *
+ * @param instance The instance to invoke
+ * @param manager The Web Beans manager
+ * @return A reference to the instance
+ */
+ public T invokeOnInstance(Object instance, Object... parameters) throws IllegalArgumentException, SecurityException, IllegalAccessException, InvocationTargetException, NoSuchMethodException;
+
+ /**
+ * Gets the declaring class
+ *
+ * @return An abstraction of the declaring class
+ */
+ public WBType<?> getDeclaringClass();
+
+ /**
+ * Gets the property name
+ *
+ * @return The name
+ */
+ public String getPropertyName();
+
+ /**
+ * Checks if a this is equivalent to a JLR method
+ *
+ * @param method The JLR method
+ * @return true if equivalent
+ */
+ public boolean isEquivalent(Method method);
+
+ public Method getAnnotatedMethod();
+
+ public MethodSignature getSignature();
+
+}
Property changes on: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WBMethod.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Copied: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WBParameter.java (from rev 2821, ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/AnnotatedParameter.java)
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WBParameter.java (rev 0)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WBParameter.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -0,0 +1,33 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.webbeans.introspector;
+
+
+
+/**
+ * AnnotatedParameter provides a uniform access to a method parameter defined
+ * either in Java or XML
+ *
+ * @author Pete Muir
+ * @param <T>
+ */
+public interface WBParameter<T> extends WBAnnotated<T, Object>
+{
+
+ public WBMember<?, ?> getDeclaringMember();
+
+}
Property changes on: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WBParameter.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Copied: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WBType.java (from rev 2821, ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/AnnotatedType.java)
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WBType.java (rev 0)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WBType.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -0,0 +1,46 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.webbeans.introspector;
+
+
+/**
+ * AnnotatedType provides a uniform access to a type defined either in Java or
+ * XML
+ *
+ * @author Pete Muir
+ * @param <T>
+ */
+public interface WBType<T> extends WBAnnotated<T, Class<T>>
+{
+
+ /**
+ * Gets the superclass of the type
+ *
+ * @return The abstracted superclass
+ */
+ public WBType<?> getSuperclass();
+
+ /**
+ * Check if this is equivalent to a java class
+ * @param clazz The Java class
+ * @return true if equivalent
+ */
+ public boolean isEquivalent(Class<?> clazz);
+
+ public String getSimpleName();
+
+}
Deleted: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WrappedAnnotatedClass.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WrappedAnnotatedClass.java 2009-06-12 22:30:21 UTC (rev 2827)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WrappedAnnotatedClass.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -1,88 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.webbeans.introspector;
-
-import java.lang.annotation.Annotation;
-import java.util.Set;
-
-public class WrappedAnnotatedClass<T> extends ForwardingAnnotatedClass<T>
-{
-
- private final AnnotatedClass<T> delegate;
- private AnnotationStore annotationStore;
-
- public WrappedAnnotatedClass(AnnotatedClass<T> clazz, Set<Annotation> extraAnnotations, Set<Annotation> extraDeclaredAnnotations)
- {
- this.delegate = clazz;
- this.annotationStore = AnnotationStore.wrap(clazz.getAnnotationStore(), extraAnnotations, extraDeclaredAnnotations);
- }
-
- @Override
- protected AnnotatedClass<T> delegate()
- {
- return delegate;
- }
-
- @Override
- public AnnotationStore getAnnotationStore()
- {
- return annotationStore;
- }
-
- public <A extends Annotation> A getAnnotation(Class<A> annotationType)
- {
- return getAnnotationStore().getAnnotation(annotationType);
- }
-
- public Set<Annotation> getAnnotations()
- {
- return getAnnotationStore().getAnnotations();
- }
-
- public Set<Annotation> getMetaAnnotations(Class<? extends Annotation> metaAnnotationType)
- {
- return getAnnotationStore().getMetaAnnotations(metaAnnotationType);
- }
-
- public Annotation[] getMetaAnnotationsAsArray(Class<? extends Annotation> metaAnnotationType)
- {
- return getAnnotationStore().getMetaAnnotationsAsArray(metaAnnotationType);
- }
-
- @Deprecated
- public Set<Annotation> getBindings()
- {
- return getAnnotationStore().getBindings();
- }
-
- @Deprecated
- public Annotation[] getBindingsAsArray()
- {
- return getAnnotationStore().getBindingsAsArray();
- }
-
- public boolean isAnnotationPresent(Class<? extends Annotation> annotationType)
- {
- return getAnnotationStore().isAnnotationPresent(annotationType);
- }
-
- public Set<Annotation> getDeclaredMetaAnnotations(Class<? extends Annotation> metaAnnotationType)
- {
- return getAnnotationStore().getDeclaredMetaAnnotations(metaAnnotationType);
- }
-
-}
Deleted: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WrappedAnnotatedField.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WrappedAnnotatedField.java 2009-06-12 22:30:21 UTC (rev 2827)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WrappedAnnotatedField.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -1,107 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */package org.jboss.webbeans.introspector;
-import java.lang.annotation.Annotation;
-import java.util.Set;
-
-public class WrappedAnnotatedField<T> extends ForwardingAnnotatedField<T>
-{
-
- private final AnnotatedField<T> delegate;
- private AnnotationStore annotationStore;
-
- public WrappedAnnotatedField(AnnotatedField<T> field, Set<Annotation> extraAnnotations)
- {
- this.delegate = field;
- this.annotationStore = AnnotationStore.wrap(field.getAnnotationStore(), extraAnnotations, extraAnnotations);
- }
-
- @Override
- protected AnnotatedField<T> delegate()
- {
- return delegate;
- }
-
- @Override
- public AnnotationStore getAnnotationStore()
- {
- return annotationStore;
- }
-
- /**
- * @see org.jboss.webbeans.introspector.AnnotatedItem
- */
- public <A extends Annotation> A getAnnotation(Class<A> annotationType)
- {
- return getAnnotationStore().getAnnotation(annotationType);
- }
-
- /**
- * @see org.jboss.webbeans.introspector.AnnotatedItem
- */
- public Set<Annotation> getAnnotations()
- {
- return getAnnotationStore().getAnnotations();
- }
-
- /**
- * @see org.jboss.webbeans.introspector.AnnotatedItem
- */
- public Set<Annotation> getMetaAnnotations(Class<? extends Annotation> metaAnnotationType)
- {
- return getAnnotationStore().getMetaAnnotations(metaAnnotationType);
- }
-
- /**
- * @see org.jboss.webbeans.introspector.AnnotatedItem
- */
- public Annotation[] getMetaAnnotationsAsArray(Class<? extends Annotation> metaAnnotationType)
- {
- return getAnnotationStore().getMetaAnnotationsAsArray(metaAnnotationType);
- }
-
- /**
- * @see org.jboss.webbeans.introspector.AnnotatedItem
- */
- @Deprecated
- public Set<Annotation> getBindings()
- {
- return getAnnotationStore().getBindings();
- }
-
- /**
- * @see org.jboss.webbeans.introspector.AnnotatedItem
- */
- @Deprecated
- public Annotation[] getBindingsAsArray()
- {
- return getAnnotationStore().getBindingsAsArray();
- }
-
- /**
- * @see org.jboss.webbeans.introspector.AnnotatedItem
- */
- public boolean isAnnotationPresent(Class<? extends Annotation> annotationType)
- {
- return getAnnotationStore().isAnnotationPresent(annotationType);
- }
-
- public Set<Annotation> getDeclaredMetaAnnotations(Class<? extends Annotation> metaAnnotationType)
- {
- return getAnnotationStore().getDeclaredMetaAnnotations(metaAnnotationType);
- }
-
-}
Deleted: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WrappedAnnotatedMethod.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WrappedAnnotatedMethod.java 2009-06-12 22:30:21 UTC (rev 2827)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WrappedAnnotatedMethod.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -1,109 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.webbeans.introspector;
-
-import java.lang.annotation.Annotation;
-import java.util.Set;
-
-public class WrappedAnnotatedMethod<T> extends ForwardingAnnotatedMethod<T>
-{
-
- private final AnnotatedMethod<T> delegate;
- private AnnotationStore annotationStore;
-
- public WrappedAnnotatedMethod(AnnotatedMethod<T> method, Set<Annotation> extraAnnotations)
- {
- this.delegate = method;
- this.annotationStore = AnnotationStore.wrap(method.getAnnotationStore(), extraAnnotations, extraAnnotations);
- }
-
- @Override
- protected AnnotatedMethod<T> delegate()
- {
- return delegate;
- }
-
- @Override
- public AnnotationStore getAnnotationStore()
- {
- return annotationStore;
- }
-
- /**
- * @see org.jboss.webbeans.introspector.AnnotatedItem
- */
- public <A extends Annotation> A getAnnotation(Class<A> annotationType)
- {
- return getAnnotationStore().getAnnotation(annotationType);
- }
-
- /**
- * @see org.jboss.webbeans.introspector.AnnotatedItem
- */
- public Set<Annotation> getAnnotations()
- {
- return getAnnotationStore().getAnnotations();
- }
-
- /**
- * @see org.jboss.webbeans.introspector.AnnotatedItem
- */
- public Set<Annotation> getMetaAnnotations(Class<? extends Annotation> metaAnnotationType)
- {
- return getAnnotationStore().getMetaAnnotations(metaAnnotationType);
- }
-
- /**
- * @see org.jboss.webbeans.introspector.AnnotatedItem
- */
- public Annotation[] getMetaAnnotationsAsArray(Class<? extends Annotation> metaAnnotationType)
- {
- return getAnnotationStore().getMetaAnnotationsAsArray(metaAnnotationType);
- }
-
- /**
- * @see org.jboss.webbeans.introspector.AnnotatedItem
- */
- @Deprecated
- public Set<Annotation> getBindings()
- {
- return getAnnotationStore().getBindings();
- }
-
- /**
- * @see org.jboss.webbeans.introspector.AnnotatedItem
- */
- @Deprecated
- public Annotation[] getBindingsAsArray()
- {
- return getAnnotationStore().getBindingsAsArray();
- }
-
- /**
- * @see org.jboss.webbeans.introspector.AnnotatedItem
- */
- public boolean isAnnotationPresent(Class<? extends Annotation> annotationType)
- {
- return getAnnotationStore().isAnnotationPresent(annotationType);
- }
-
- public Set<Annotation> getDeclaredMetaAnnotations(Class<? extends Annotation> metaAnnotationType)
- {
- return getAnnotationStore().getDeclaredMetaAnnotations(metaAnnotationType);
- }
-
-}
Deleted: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WrappedAnnotatedParameter.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WrappedAnnotatedParameter.java 2009-06-12 22:30:21 UTC (rev 2827)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WrappedAnnotatedParameter.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -1,114 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.webbeans.introspector;
-
-import java.lang.annotation.Annotation;
-import java.util.Set;
-
-public class WrappedAnnotatedParameter<T> extends ForwardingAnnotatedParameter<T>
-{
-
- public static <T> WrappedAnnotatedParameter<T> of(AnnotatedParameter<T> parameter, Set<Annotation> extraAnnotations)
- {
- return new WrappedAnnotatedParameter<T>(parameter, extraAnnotations);
- }
-
- private final AnnotatedParameter<T> delegate;
- private AnnotationStore annotationStore;
-
- public WrappedAnnotatedParameter(AnnotatedParameter<T> parameter, Set<Annotation> extraAnnotations)
- {
- this.delegate = parameter;
- this.annotationStore = AnnotationStore.wrap(parameter.getAnnotationStore(), extraAnnotations, extraAnnotations);
- }
-
- @Override
- protected AnnotatedParameter<T> delegate()
- {
- return delegate;
- }
-
- @Override
- public AnnotationStore getAnnotationStore()
- {
- return annotationStore;
- }
-
- /**
- * @see org.jboss.webbeans.introspector.AnnotatedItem
- */
- public <A extends Annotation> A getAnnotation(Class<A> annotationType)
- {
- return getAnnotationStore().getAnnotation(annotationType);
- }
-
- /**
- * @see org.jboss.webbeans.introspector.AnnotatedItem
- */
- public Set<Annotation> getAnnotations()
- {
- return getAnnotationStore().getAnnotations();
- }
-
- /**
- * @see org.jboss.webbeans.introspector.AnnotatedItem
- */
- public Set<Annotation> getMetaAnnotations(Class<? extends Annotation> metaAnnotationType)
- {
- return getAnnotationStore().getMetaAnnotations(metaAnnotationType);
- }
-
- /**
- * @see org.jboss.webbeans.introspector.AnnotatedItem
- */
- public Annotation[] getMetaAnnotationsAsArray(Class<? extends Annotation> metaAnnotationType)
- {
- return getAnnotationStore().getMetaAnnotationsAsArray(metaAnnotationType);
- }
-
- /**
- * @see org.jboss.webbeans.introspector.AnnotatedItem
- */
- @Deprecated
- public Set<Annotation> getBindings()
- {
- return getAnnotationStore().getBindings();
- }
-
- /**
- * @see org.jboss.webbeans.introspector.AnnotatedItem
- */
- @Deprecated
- public Annotation[] getBindingsAsArray()
- {
- return getAnnotationStore().getBindingsAsArray();
- }
-
- /**
- * @see org.jboss.webbeans.introspector.AnnotatedItem
- */
- public boolean isAnnotationPresent(Class<? extends Annotation> annotationType)
- {
- return getAnnotationStore().isAnnotationPresent(annotationType);
- }
-
- public Set<Annotation> getDeclaredMetaAnnotations(Class<? extends Annotation> metaAnnotationType)
- {
- return getAnnotationStore().getDeclaredMetaAnnotations(metaAnnotationType);
- }
-
-}
Copied: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WrappedWBClass.java (from rev 2827, ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WrappedAnnotatedClass.java)
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WrappedWBClass.java (rev 0)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WrappedWBClass.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -0,0 +1,88 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.webbeans.introspector;
+
+import java.lang.annotation.Annotation;
+import java.util.Set;
+
+public class WrappedWBClass<T> extends ForwardingWBClass<T>
+{
+
+ private final WBClass<T> delegate;
+ private AnnotationStore annotationStore;
+
+ public WrappedWBClass(WBClass<T> clazz, Set<Annotation> extraAnnotations, Set<Annotation> extraDeclaredAnnotations)
+ {
+ this.delegate = clazz;
+ this.annotationStore = AnnotationStore.wrap(clazz.getAnnotationStore(), extraAnnotations, extraDeclaredAnnotations);
+ }
+
+ @Override
+ protected WBClass<T> delegate()
+ {
+ return delegate;
+ }
+
+ @Override
+ public AnnotationStore getAnnotationStore()
+ {
+ return annotationStore;
+ }
+
+ public <A extends Annotation> A getAnnotation(Class<A> annotationType)
+ {
+ return getAnnotationStore().getAnnotation(annotationType);
+ }
+
+ public Set<Annotation> getAnnotations()
+ {
+ return getAnnotationStore().getAnnotations();
+ }
+
+ public Set<Annotation> getMetaAnnotations(Class<? extends Annotation> metaAnnotationType)
+ {
+ return getAnnotationStore().getMetaAnnotations(metaAnnotationType);
+ }
+
+ public Annotation[] getMetaAnnotationsAsArray(Class<? extends Annotation> metaAnnotationType)
+ {
+ return getAnnotationStore().getMetaAnnotationsAsArray(metaAnnotationType);
+ }
+
+ @Deprecated
+ public Set<Annotation> getBindings()
+ {
+ return getAnnotationStore().getBindings();
+ }
+
+ @Deprecated
+ public Annotation[] getBindingsAsArray()
+ {
+ return getAnnotationStore().getBindingsAsArray();
+ }
+
+ public boolean isAnnotationPresent(Class<? extends Annotation> annotationType)
+ {
+ return getAnnotationStore().isAnnotationPresent(annotationType);
+ }
+
+ public Set<Annotation> getDeclaredMetaAnnotations(Class<? extends Annotation> metaAnnotationType)
+ {
+ return getAnnotationStore().getDeclaredMetaAnnotations(metaAnnotationType);
+ }
+
+}
Property changes on: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WrappedWBClass.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Copied: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WrappedWBField.java (from rev 2827, ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WrappedAnnotatedField.java)
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WrappedWBField.java (rev 0)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WrappedWBField.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -0,0 +1,107 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */package org.jboss.webbeans.introspector;
+import java.lang.annotation.Annotation;
+import java.util.Set;
+
+public class WrappedWBField<T> extends ForwardingWBField<T>
+{
+
+ private final WBField<T> delegate;
+ private AnnotationStore annotationStore;
+
+ public WrappedWBField(WBField<T> field, Set<Annotation> extraAnnotations)
+ {
+ this.delegate = field;
+ this.annotationStore = AnnotationStore.wrap(field.getAnnotationStore(), extraAnnotations, extraAnnotations);
+ }
+
+ @Override
+ protected WBField<T> delegate()
+ {
+ return delegate;
+ }
+
+ @Override
+ public AnnotationStore getAnnotationStore()
+ {
+ return annotationStore;
+ }
+
+ /**
+ * @see org.jboss.webbeans.introspector.WBAnnotated
+ */
+ public <A extends Annotation> A getAnnotation(Class<A> annotationType)
+ {
+ return getAnnotationStore().getAnnotation(annotationType);
+ }
+
+ /**
+ * @see org.jboss.webbeans.introspector.WBAnnotated
+ */
+ public Set<Annotation> getAnnotations()
+ {
+ return getAnnotationStore().getAnnotations();
+ }
+
+ /**
+ * @see org.jboss.webbeans.introspector.WBAnnotated
+ */
+ public Set<Annotation> getMetaAnnotations(Class<? extends Annotation> metaAnnotationType)
+ {
+ return getAnnotationStore().getMetaAnnotations(metaAnnotationType);
+ }
+
+ /**
+ * @see org.jboss.webbeans.introspector.WBAnnotated
+ */
+ public Annotation[] getMetaAnnotationsAsArray(Class<? extends Annotation> metaAnnotationType)
+ {
+ return getAnnotationStore().getMetaAnnotationsAsArray(metaAnnotationType);
+ }
+
+ /**
+ * @see org.jboss.webbeans.introspector.WBAnnotated
+ */
+ @Deprecated
+ public Set<Annotation> getBindings()
+ {
+ return getAnnotationStore().getBindings();
+ }
+
+ /**
+ * @see org.jboss.webbeans.introspector.WBAnnotated
+ */
+ @Deprecated
+ public Annotation[] getBindingsAsArray()
+ {
+ return getAnnotationStore().getBindingsAsArray();
+ }
+
+ /**
+ * @see org.jboss.webbeans.introspector.WBAnnotated
+ */
+ public boolean isAnnotationPresent(Class<? extends Annotation> annotationType)
+ {
+ return getAnnotationStore().isAnnotationPresent(annotationType);
+ }
+
+ public Set<Annotation> getDeclaredMetaAnnotations(Class<? extends Annotation> metaAnnotationType)
+ {
+ return getAnnotationStore().getDeclaredMetaAnnotations(metaAnnotationType);
+ }
+
+}
Property changes on: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WrappedWBField.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Copied: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WrappedWBMethod.java (from rev 2827, ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WrappedAnnotatedMethod.java)
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WrappedWBMethod.java (rev 0)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WrappedWBMethod.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -0,0 +1,109 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.webbeans.introspector;
+
+import java.lang.annotation.Annotation;
+import java.util.Set;
+
+public class WrappedWBMethod<T> extends ForwardingWBMethod<T>
+{
+
+ private final WBMethod<T> delegate;
+ private AnnotationStore annotationStore;
+
+ public WrappedWBMethod(WBMethod<T> method, Set<Annotation> extraAnnotations)
+ {
+ this.delegate = method;
+ this.annotationStore = AnnotationStore.wrap(method.getAnnotationStore(), extraAnnotations, extraAnnotations);
+ }
+
+ @Override
+ protected WBMethod<T> delegate()
+ {
+ return delegate;
+ }
+
+ @Override
+ public AnnotationStore getAnnotationStore()
+ {
+ return annotationStore;
+ }
+
+ /**
+ * @see org.jboss.webbeans.introspector.WBAnnotated
+ */
+ public <A extends Annotation> A getAnnotation(Class<A> annotationType)
+ {
+ return getAnnotationStore().getAnnotation(annotationType);
+ }
+
+ /**
+ * @see org.jboss.webbeans.introspector.WBAnnotated
+ */
+ public Set<Annotation> getAnnotations()
+ {
+ return getAnnotationStore().getAnnotations();
+ }
+
+ /**
+ * @see org.jboss.webbeans.introspector.WBAnnotated
+ */
+ public Set<Annotation> getMetaAnnotations(Class<? extends Annotation> metaAnnotationType)
+ {
+ return getAnnotationStore().getMetaAnnotations(metaAnnotationType);
+ }
+
+ /**
+ * @see org.jboss.webbeans.introspector.WBAnnotated
+ */
+ public Annotation[] getMetaAnnotationsAsArray(Class<? extends Annotation> metaAnnotationType)
+ {
+ return getAnnotationStore().getMetaAnnotationsAsArray(metaAnnotationType);
+ }
+
+ /**
+ * @see org.jboss.webbeans.introspector.WBAnnotated
+ */
+ @Deprecated
+ public Set<Annotation> getBindings()
+ {
+ return getAnnotationStore().getBindings();
+ }
+
+ /**
+ * @see org.jboss.webbeans.introspector.WBAnnotated
+ */
+ @Deprecated
+ public Annotation[] getBindingsAsArray()
+ {
+ return getAnnotationStore().getBindingsAsArray();
+ }
+
+ /**
+ * @see org.jboss.webbeans.introspector.WBAnnotated
+ */
+ public boolean isAnnotationPresent(Class<? extends Annotation> annotationType)
+ {
+ return getAnnotationStore().isAnnotationPresent(annotationType);
+ }
+
+ public Set<Annotation> getDeclaredMetaAnnotations(Class<? extends Annotation> metaAnnotationType)
+ {
+ return getAnnotationStore().getDeclaredMetaAnnotations(metaAnnotationType);
+ }
+
+}
Property changes on: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WrappedWBMethod.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Copied: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WrappedWBParameter.java (from rev 2827, ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WrappedAnnotatedParameter.java)
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WrappedWBParameter.java (rev 0)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WrappedWBParameter.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -0,0 +1,114 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.webbeans.introspector;
+
+import java.lang.annotation.Annotation;
+import java.util.Set;
+
+public class WrappedWBParameter<T> extends ForwardingWBParameter<T>
+{
+
+ public static <T> WrappedWBParameter<T> of(WBParameter<T> parameter, Set<Annotation> extraAnnotations)
+ {
+ return new WrappedWBParameter<T>(parameter, extraAnnotations);
+ }
+
+ private final WBParameter<T> delegate;
+ private AnnotationStore annotationStore;
+
+ public WrappedWBParameter(WBParameter<T> parameter, Set<Annotation> extraAnnotations)
+ {
+ this.delegate = parameter;
+ this.annotationStore = AnnotationStore.wrap(parameter.getAnnotationStore(), extraAnnotations, extraAnnotations);
+ }
+
+ @Override
+ protected WBParameter<T> delegate()
+ {
+ return delegate;
+ }
+
+ @Override
+ public AnnotationStore getAnnotationStore()
+ {
+ return annotationStore;
+ }
+
+ /**
+ * @see org.jboss.webbeans.introspector.WBAnnotated
+ */
+ public <A extends Annotation> A getAnnotation(Class<A> annotationType)
+ {
+ return getAnnotationStore().getAnnotation(annotationType);
+ }
+
+ /**
+ * @see org.jboss.webbeans.introspector.WBAnnotated
+ */
+ public Set<Annotation> getAnnotations()
+ {
+ return getAnnotationStore().getAnnotations();
+ }
+
+ /**
+ * @see org.jboss.webbeans.introspector.WBAnnotated
+ */
+ public Set<Annotation> getMetaAnnotations(Class<? extends Annotation> metaAnnotationType)
+ {
+ return getAnnotationStore().getMetaAnnotations(metaAnnotationType);
+ }
+
+ /**
+ * @see org.jboss.webbeans.introspector.WBAnnotated
+ */
+ public Annotation[] getMetaAnnotationsAsArray(Class<? extends Annotation> metaAnnotationType)
+ {
+ return getAnnotationStore().getMetaAnnotationsAsArray(metaAnnotationType);
+ }
+
+ /**
+ * @see org.jboss.webbeans.introspector.WBAnnotated
+ */
+ @Deprecated
+ public Set<Annotation> getBindings()
+ {
+ return getAnnotationStore().getBindings();
+ }
+
+ /**
+ * @see org.jboss.webbeans.introspector.WBAnnotated
+ */
+ @Deprecated
+ public Annotation[] getBindingsAsArray()
+ {
+ return getAnnotationStore().getBindingsAsArray();
+ }
+
+ /**
+ * @see org.jboss.webbeans.introspector.WBAnnotated
+ */
+ public boolean isAnnotationPresent(Class<? extends Annotation> annotationType)
+ {
+ return getAnnotationStore().isAnnotationPresent(annotationType);
+ }
+
+ public Set<Annotation> getDeclaredMetaAnnotations(Class<? extends Annotation> metaAnnotationType)
+ {
+ return getAnnotationStore().getDeclaredMetaAnnotations(metaAnnotationType);
+ }
+
+}
Property changes on: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/WrappedWBParameter.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Deleted: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractAnnotatedItem.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractAnnotatedItem.java 2009-06-12 22:30:21 UTC (rev 2827)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractAnnotatedItem.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -1,292 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.webbeans.introspector.jlr;
-
-import java.lang.annotation.Annotation;
-import java.lang.reflect.ParameterizedType;
-import java.lang.reflect.Type;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Set;
-
-import org.jboss.webbeans.introspector.AnnotatedItem;
-import org.jboss.webbeans.introspector.AnnotationStore;
-import org.jboss.webbeans.util.Proxies;
-import org.jboss.webbeans.util.Reflections;
-
-/**
- * Represents functionality common for all annotated items, mainly different
- * mappings of the annotations and meta-annotations
- *
- * AbstractAnnotatedItem is an immutable class and therefore threadsafe
- *
- * @author Pete Muir
- * @author Nicklas Karlsson
- *
- * @param <T>
- * @param <S>
- *
- * @see org.jboss.webbeans.introspector.AnnotatedItem
- */
-public abstract class AbstractAnnotatedItem<T, S> implements AnnotatedItem<T, S>
-{
-
- interface WrappableAnnotatedItem<T, S> extends AnnotatedItem<T, S>
- {
-
- AnnotationStore getAnnotationStore();
-
- }
-
- // Cached string representation
- private String toString;
- private final AnnotationStore annotationStore;
- private final Class<T> rawType;
- private final Type[] actualTypeArguments;
- private final Type type;
- private final Set<Type> flattenedTypes;
- private final Set<Type> interfaceOnlyFlattenedTypes;
- private final boolean proxyable;
- private final boolean _parameterizedType;
-
- /**
- * Constructor
- *
- * Also builds the meta-annotation map. Throws a NullPointerException if
- * trying to register a null map
- *
- * @param annotationMap A map of annotation to register
- *
- */
- public AbstractAnnotatedItem(AnnotationStore annotatedItemHelper, Class<T> rawType, Type type)
- {
- this.annotationStore = annotatedItemHelper;
- this.rawType = rawType;
- this.type = type;
- if (type instanceof ParameterizedType)
- {
- this.actualTypeArguments = ((ParameterizedType) type).getActualTypeArguments();
- }
- else
- {
- this.actualTypeArguments = new Type[0];
- }
- this._parameterizedType = Reflections.isParameterizedType(rawType);
- this.flattenedTypes = new Reflections.HierarchyDiscovery(type).getFlattenedTypes();
- this.interfaceOnlyFlattenedTypes = new HashSet<Type>();
- for (Type t : rawType.getGenericInterfaces())
- {
- interfaceOnlyFlattenedTypes.addAll(new Reflections.HierarchyDiscovery(t).getFlattenedTypes());
- }
- this.proxyable = Proxies.isTypesProxyable(flattenedTypes);
- }
-
- public AbstractAnnotatedItem(AnnotationStore annotatedItemHelper)
- {
- this.annotationStore = annotatedItemHelper;
- this.rawType = null;
- this.type = null;
- this.actualTypeArguments = new Type[0];
- this._parameterizedType = false;
- this.flattenedTypes = null;
- this.interfaceOnlyFlattenedTypes = null;
- this.proxyable = false;
- }
-
- public AnnotationStore getAnnotationStore()
- {
- return annotationStore;
- }
-
- public <A extends Annotation> A getAnnotation(Class<A> annotationType)
- {
- return getAnnotationStore().getAnnotation(annotationType);
- }
-
- public Set<Annotation> getMetaAnnotations(Class<? extends Annotation> metaAnnotationType)
- {
- return getAnnotationStore().getMetaAnnotations(metaAnnotationType);
- }
-
- public Set<Annotation> getDeclaredMetaAnnotations(Class<? extends Annotation> metaAnnotationType)
- {
- return getAnnotationStore().getDeclaredMetaAnnotations(metaAnnotationType);
- }
-
- public Annotation[] getMetaAnnotationsAsArray(Class<? extends Annotation> metaAnnotationType)
- {
- return getMetaAnnotations(metaAnnotationType).toArray(new Annotation[0]);
- }
-
- public Set<Annotation> getAnnotations()
- {
- return getAnnotationStore().getAnnotations();
- }
-
- /**
- * Checks if an annotation is present on the item
- *
- * @param annotatedType The annotation type to check for
- * @return True if present, false otherwise.
- *
- * @see org.jboss.webbeans.introspector.AnnotatedItem#isAnnotationPresent(Class)
- */
- public boolean isAnnotationPresent(Class<? extends Annotation> annotatedType)
- {
- return getAnnotationStore().isAnnotationPresent(annotatedType);
- }
-
- /**
- * Compares two AbstractAnnotatedItems
- *
- * @param other The other item
- * @return True if equals, false otherwise
- */
- @Override
- public boolean equals(Object other)
- {
- if (other instanceof AnnotatedItem)
- {
- AnnotatedItem<?, ?> that = (AnnotatedItem<?, ?>) other;
- return this.getAnnotations().equals(that.getAnnotations()) && this.getRawType().equals(that.getRawType());
- }
- return false;
- }
-
- /**
- * Checks if this item is assignable from another annotated item (through
- * type and actual type arguments)
- *
- * @param that The other annotated item to check against
- * @return True if assignable, false otherwise
- *
- * @see org.jboss.webbeans.introspector.AnnotatedItem#isAssignableFrom(AnnotatedItem)
- */
- public boolean isAssignableFrom(AnnotatedItem<?, ?> that)
- {
- return isAssignableFrom(that.getRawType(), that.getActualTypeArguments());
- }
-
- public boolean isAssignableFrom(Class<?> type, Type[] actualTypeArguments)
- {
- return Reflections.isAssignableFrom(getRawType(), getActualTypeArguments(), type, actualTypeArguments);
- }
-
- public boolean isAssignableFrom(Type type)
- {
- return Reflections.isAssignableFrom(getType(), type);
- }
-
- /**
- * Gets the hash code of the actual type
- *
- * @return The hash code
- */
- @Override
- public int hashCode()
- {
- return getRawType().hashCode();
- }
-
- /**
- * Gets a string representation of the item
- *
- * @return A string representation
- */
- @Override
- public String toString()
- {
- if (toString != null)
- {
- return toString;
- }
- toString = "Abstract annotated item " + getName();
- return toString;
- }
-
- @Deprecated
- public Set<Annotation> getBindings()
- {
- return getAnnotationStore().getBindings();
- }
-
- /**
- * Gets (as array) the binding types of the item
- *
- * Looks at the meta-annotations map for annotations with binding type
- * meta-annotation. Returns default binding (current) if none specified.
- *
- * @return An array of (binding type) annotations
- *
- * @see org.jboss.webbeans.introspector.AnnotatedItem#getBindingsAsArray()
- */
- @Deprecated
- public Annotation[] getBindingsAsArray()
- {
- return getAnnotationStore().getBindingsAsArray();
- }
-
- /**
- * Indicates if the type is proxyable to a set of pre-defined rules
- *
- * @return True if proxyable, false otherwise.
- *
- * @see org.jboss.webbeans.introspector.AnnotatedItem#isProxyable()
- */
- public boolean isProxyable()
- {
- return proxyable;
- }
-
- public Class<T> getRawType()
- {
- return rawType;
- }
-
- public Type getType()
- {
- return type;
- }
-
- public Type[] getActualTypeArguments()
- {
- return actualTypeArguments;
- }
-
- public Set<Type> getFlattenedTypeHierarchy()
- {
- return Collections.unmodifiableSet(flattenedTypes);
- }
-
- public Set<Type> getInterfaceOnlyFlattenedTypeHierarchy()
- {
- return Collections.unmodifiableSet(interfaceOnlyFlattenedTypes);
- }
-
- public abstract S getDelegate();
-
- public boolean isDeclaredAnnotationPresent(Class<? extends Annotation> annotationType)
- {
- return getAnnotationStore().isDeclaredAnnotationPresent(annotationType);
- }
-
- public boolean isParameterizedType()
- {
- return _parameterizedType;
- }
-
-}
\ No newline at end of file
Deleted: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractAnnotatedMember.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractAnnotatedMember.java 2009-06-12 22:30:21 UTC (rev 2827)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractAnnotatedMember.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -1,144 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.webbeans.introspector.jlr;
-
-import java.lang.reflect.Member;
-import java.lang.reflect.Modifier;
-import java.lang.reflect.Type;
-
-import org.jboss.webbeans.introspector.AnnotatedMember;
-import org.jboss.webbeans.introspector.AnnotationStore;
-import org.jboss.webbeans.introspector.ForwardingAnnotatedMember;
-import org.jboss.webbeans.util.Reflections;
-
-/**
- * Represents an abstract annotated memeber (field, method or constructor)
- *
- * This class is immutable, and therefore threadsafe
- *
- * @author Pete Muir
- *
- * @param <T>
- * @param <S>
- */
-public abstract class AbstractAnnotatedMember<T, S extends Member> extends AbstractAnnotatedItem<T, S> implements AnnotatedMember<T, S>
-{
-
- static abstract class WrappableForwardingAnnotatedMember<T, S extends Member> extends ForwardingAnnotatedMember<T, S> implements WrappableAnnotatedItem<T, S>
- {
-
- }
-
- // The name of the member
- private final String name;
-
- // Cached string representation
- private String toString;
-
- private final boolean _public;
-
- /**
- * Constructor
- *
- * @param annotationMap The annotation map
- */
- protected AbstractAnnotatedMember(AnnotationStore annotatedItemHelper, Member member, Class<T> rawType, Type type)
- {
- super(annotatedItemHelper, rawType, type);
- name = member.getName();
- _public = Modifier.isPublic(member.getModifiers());
- }
-
- /**
- * Indicates if the member is static
- *
- * @return True if static, false otherwise
- *
- * @see org.jboss.webbeans.introspector.AnnotatedItem#isStatic()
- */
- public boolean isStatic()
- {
- return Reflections.isStatic(getDelegate());
- }
-
- /**
- * Indicates if the member if final
- *
- * @return True if final, false otherwise
- *
- * @see org.jboss.webbeans.introspector.AnnotatedItem#isFinal()
- */
- public boolean isFinal()
- {
- return Reflections.isFinal(getDelegate());
- }
-
- public boolean isTransient()
- {
- return Reflections.isTransient(getDelegate());
- }
-
- public boolean isPublic()
- {
- return _public;
- }
-
- /**
- * Gets the current value of the member
- *
- * @param beanManager The Web Beans manager
- * @return The current value
- *
- public T getValue(BeanManager beanManager)
- {
- return beanManager.getInstance(getRawType(), getMetaAnnotationsAsArray(BindingType.class));
- }*/
-
- /**
- * Gets the name of the member
- *
- * @returns The name
- *
- * @see org.jboss.webbeans.introspector.AnnotatedItem#getName()
- */
- public String getName()
- {
- return name;
- }
-
- /**
- * Gets a string representation of the member
- *
- * @return A string representation
- */
- @Override
- public String toString()
- {
- if (toString != null)
- {
- return toString;
- }
- toString = "Abstract annotated member " + getName();
- return toString;
- }
-
- public S getMember()
- {
- return getDelegate();
- }
-
-}
Deleted: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractAnnotatedType.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractAnnotatedType.java 2009-06-12 22:30:21 UTC (rev 2827)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractAnnotatedType.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -1,149 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.webbeans.introspector.jlr;
-
-import java.lang.reflect.Modifier;
-import java.lang.reflect.Type;
-
-import org.jboss.webbeans.introspector.AnnotatedClass;
-import org.jboss.webbeans.introspector.AnnotatedType;
-import org.jboss.webbeans.introspector.AnnotationStore;
-import org.jboss.webbeans.resources.ClassTransformer;
-import org.jboss.webbeans.util.Reflections;
-
-/**
- * Represents an abstract annotated type
- *
- * This class is immutable, and therefore threadsafe
- *
- * @author Pete Muir
- *
- * @param <T>
- */
-public abstract class AbstractAnnotatedType<T> extends AbstractAnnotatedItem<T, Class<T>> implements AnnotatedType<T>
-{
-
- // The superclass abstraction of the type
- private final AnnotatedClass<?> superclass;
- // The name of the type
- private final String name;
-
- private final String _simpleName;
-
- // Cached string representation
- private String toString;
- private final boolean _public;
-
- /**
- * Constructor
- *
- * @param annotationMap The annotation map
- */
- public AbstractAnnotatedType(AnnotationStore annotatedItemHelper, Class<T> rawType, Type type, ClassTransformer classTransformer)
- {
- super(annotatedItemHelper, rawType, type);
- this.name = rawType.getName();
- this._simpleName = rawType.getSimpleName();
- if (rawType.getSuperclass() != null)
- {
- this.superclass = classTransformer.classForName(rawType.getSuperclass());
- }
- else
- {
- this.superclass = null;
- }
- this._public = Modifier.isFinal(rawType.getModifiers());
- }
-
- /**
- * Indicates if the type is static
- *
- * @return True if static, false otherwise
- *
- * @see org.jboss.webbeans.introspector.AnnotatedItem#isStatic()
- */
- public boolean isStatic()
- {
- return Reflections.isStatic(getDelegate());
- }
-
- /**
- * Indicates if the type if final
- *
- * @return True if final, false otherwise
- *
- * @see org.jboss.webbeans.introspector.AnnotatedItem#isFinal()
- */
- public boolean isFinal()
- {
- return Reflections.isFinal(getDelegate());
- }
-
- public boolean isPublic()
- {
- return _public;
- }
-
- /**
- * Gets the name of the type
- *
- * @returns The name
- *
- * @see org.jboss.webbeans.introspector.AnnotatedItem#getName()
- */
- public String getName()
- {
- return name;
- }
-
- /**
- * Gets the superclass abstraction of the type
- *
- * @return The superclass abstraction
- */
- public AnnotatedClass<?> getSuperclass()
- {
- return superclass;
- }
-
- public boolean isEquivalent(Class<?> clazz)
- {
- return getDelegate().equals(clazz);
- }
-
- /**
- * Gets a string representation of the type
- *
- * @return A string representation
- */
- @Override
- public String toString()
- {
- if (toString != null)
- {
- return toString;
- }
- toString = "Abstract annotated type " + getName();
- return toString;
- }
-
- public String getSimpleName()
- {
- return _simpleName;
- }
-
-}
Copied: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractWBAnnotated.java (from rev 2827, ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractAnnotatedItem.java)
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractWBAnnotated.java (rev 0)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractWBAnnotated.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -0,0 +1,292 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.webbeans.introspector.jlr;
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.ParameterizedType;
+import java.lang.reflect.Type;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Set;
+
+import org.jboss.webbeans.introspector.WBAnnotated;
+import org.jboss.webbeans.introspector.AnnotationStore;
+import org.jboss.webbeans.util.Proxies;
+import org.jboss.webbeans.util.Reflections;
+
+/**
+ * Represents functionality common for all annotated items, mainly different
+ * mappings of the annotations and meta-annotations
+ *
+ * AbstractAnnotatedItem is an immutable class and therefore threadsafe
+ *
+ * @author Pete Muir
+ * @author Nicklas Karlsson
+ *
+ * @param <T>
+ * @param <S>
+ *
+ * @see org.jboss.webbeans.introspector.WBAnnotated
+ */
+public abstract class AbstractWBAnnotated<T, S> implements WBAnnotated<T, S>
+{
+
+ interface WrappableAnnotatedItem<T, S> extends WBAnnotated<T, S>
+ {
+
+ AnnotationStore getAnnotationStore();
+
+ }
+
+ // Cached string representation
+ private String toString;
+ private final AnnotationStore annotationStore;
+ private final Class<T> rawType;
+ private final Type[] actualTypeArguments;
+ private final Type type;
+ private final Set<Type> flattenedTypes;
+ private final Set<Type> interfaceOnlyFlattenedTypes;
+ private final boolean proxyable;
+ private final boolean _parameterizedType;
+
+ /**
+ * Constructor
+ *
+ * Also builds the meta-annotation map. Throws a NullPointerException if
+ * trying to register a null map
+ *
+ * @param annotationMap A map of annotation to register
+ *
+ */
+ public AbstractWBAnnotated(AnnotationStore annotatedItemHelper, Class<T> rawType, Type type)
+ {
+ this.annotationStore = annotatedItemHelper;
+ this.rawType = rawType;
+ this.type = type;
+ if (type instanceof ParameterizedType)
+ {
+ this.actualTypeArguments = ((ParameterizedType) type).getActualTypeArguments();
+ }
+ else
+ {
+ this.actualTypeArguments = new Type[0];
+ }
+ this._parameterizedType = Reflections.isParameterizedType(rawType);
+ this.flattenedTypes = new Reflections.HierarchyDiscovery(type).getFlattenedTypes();
+ this.interfaceOnlyFlattenedTypes = new HashSet<Type>();
+ for (Type t : rawType.getGenericInterfaces())
+ {
+ interfaceOnlyFlattenedTypes.addAll(new Reflections.HierarchyDiscovery(t).getFlattenedTypes());
+ }
+ this.proxyable = Proxies.isTypesProxyable(flattenedTypes);
+ }
+
+ public AbstractWBAnnotated(AnnotationStore annotatedItemHelper)
+ {
+ this.annotationStore = annotatedItemHelper;
+ this.rawType = null;
+ this.type = null;
+ this.actualTypeArguments = new Type[0];
+ this._parameterizedType = false;
+ this.flattenedTypes = null;
+ this.interfaceOnlyFlattenedTypes = null;
+ this.proxyable = false;
+ }
+
+ public AnnotationStore getAnnotationStore()
+ {
+ return annotationStore;
+ }
+
+ public <A extends Annotation> A getAnnotation(Class<A> annotationType)
+ {
+ return getAnnotationStore().getAnnotation(annotationType);
+ }
+
+ public Set<Annotation> getMetaAnnotations(Class<? extends Annotation> metaAnnotationType)
+ {
+ return getAnnotationStore().getMetaAnnotations(metaAnnotationType);
+ }
+
+ public Set<Annotation> getDeclaredMetaAnnotations(Class<? extends Annotation> metaAnnotationType)
+ {
+ return getAnnotationStore().getDeclaredMetaAnnotations(metaAnnotationType);
+ }
+
+ public Annotation[] getMetaAnnotationsAsArray(Class<? extends Annotation> metaAnnotationType)
+ {
+ return getMetaAnnotations(metaAnnotationType).toArray(new Annotation[0]);
+ }
+
+ public Set<Annotation> getAnnotations()
+ {
+ return getAnnotationStore().getAnnotations();
+ }
+
+ /**
+ * Checks if an annotation is present on the item
+ *
+ * @param annotatedType The annotation type to check for
+ * @return True if present, false otherwise.
+ *
+ * @see org.jboss.webbeans.introspector.WBAnnotated#isAnnotationPresent(Class)
+ */
+ public boolean isAnnotationPresent(Class<? extends Annotation> annotatedType)
+ {
+ return getAnnotationStore().isAnnotationPresent(annotatedType);
+ }
+
+ /**
+ * Compares two AbstractAnnotatedItems
+ *
+ * @param other The other item
+ * @return True if equals, false otherwise
+ */
+ @Override
+ public boolean equals(Object other)
+ {
+ if (other instanceof WBAnnotated)
+ {
+ WBAnnotated<?, ?> that = (WBAnnotated<?, ?>) other;
+ return this.getAnnotations().equals(that.getAnnotations()) && this.getRawType().equals(that.getRawType());
+ }
+ return false;
+ }
+
+ /**
+ * Checks if this item is assignable from another annotated item (through
+ * type and actual type arguments)
+ *
+ * @param that The other annotated item to check against
+ * @return True if assignable, false otherwise
+ *
+ * @see org.jboss.webbeans.introspector.WBAnnotated#isAssignableFrom(WBAnnotated)
+ */
+ public boolean isAssignableFrom(WBAnnotated<?, ?> that)
+ {
+ return isAssignableFrom(that.getRawType(), that.getActualTypeArguments());
+ }
+
+ public boolean isAssignableFrom(Class<?> type, Type[] actualTypeArguments)
+ {
+ return Reflections.isAssignableFrom(getRawType(), getActualTypeArguments(), type, actualTypeArguments);
+ }
+
+ public boolean isAssignableFrom(Type type)
+ {
+ return Reflections.isAssignableFrom(getType(), type);
+ }
+
+ /**
+ * Gets the hash code of the actual type
+ *
+ * @return The hash code
+ */
+ @Override
+ public int hashCode()
+ {
+ return getRawType().hashCode();
+ }
+
+ /**
+ * Gets a string representation of the item
+ *
+ * @return A string representation
+ */
+ @Override
+ public String toString()
+ {
+ if (toString != null)
+ {
+ return toString;
+ }
+ toString = "Abstract annotated item " + getName();
+ return toString;
+ }
+
+ @Deprecated
+ public Set<Annotation> getBindings()
+ {
+ return getAnnotationStore().getBindings();
+ }
+
+ /**
+ * Gets (as array) the binding types of the item
+ *
+ * Looks at the meta-annotations map for annotations with binding type
+ * meta-annotation. Returns default binding (current) if none specified.
+ *
+ * @return An array of (binding type) annotations
+ *
+ * @see org.jboss.webbeans.introspector.WBAnnotated#getBindingsAsArray()
+ */
+ @Deprecated
+ public Annotation[] getBindingsAsArray()
+ {
+ return getAnnotationStore().getBindingsAsArray();
+ }
+
+ /**
+ * Indicates if the type is proxyable to a set of pre-defined rules
+ *
+ * @return True if proxyable, false otherwise.
+ *
+ * @see org.jboss.webbeans.introspector.WBAnnotated#isProxyable()
+ */
+ public boolean isProxyable()
+ {
+ return proxyable;
+ }
+
+ public Class<T> getRawType()
+ {
+ return rawType;
+ }
+
+ public Type getType()
+ {
+ return type;
+ }
+
+ public Type[] getActualTypeArguments()
+ {
+ return actualTypeArguments;
+ }
+
+ public Set<Type> getFlattenedTypeHierarchy()
+ {
+ return Collections.unmodifiableSet(flattenedTypes);
+ }
+
+ public Set<Type> getInterfaceOnlyFlattenedTypeHierarchy()
+ {
+ return Collections.unmodifiableSet(interfaceOnlyFlattenedTypes);
+ }
+
+ public abstract S getDelegate();
+
+ public boolean isDeclaredAnnotationPresent(Class<? extends Annotation> annotationType)
+ {
+ return getAnnotationStore().isDeclaredAnnotationPresent(annotationType);
+ }
+
+ public boolean isParameterizedType()
+ {
+ return _parameterizedType;
+ }
+
+}
\ No newline at end of file
Property changes on: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractWBAnnotated.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Copied: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractWBMember.java (from rev 2821, ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractAnnotatedMember.java)
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractWBMember.java (rev 0)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractWBMember.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -0,0 +1,144 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.webbeans.introspector.jlr;
+
+import java.lang.reflect.Member;
+import java.lang.reflect.Modifier;
+import java.lang.reflect.Type;
+
+import org.jboss.webbeans.introspector.WBMember;
+import org.jboss.webbeans.introspector.AnnotationStore;
+import org.jboss.webbeans.introspector.ForwardingWBMember;
+import org.jboss.webbeans.util.Reflections;
+
+/**
+ * Represents an abstract annotated memeber (field, method or constructor)
+ *
+ * This class is immutable, and therefore threadsafe
+ *
+ * @author Pete Muir
+ *
+ * @param <T>
+ * @param <S>
+ */
+public abstract class AbstractWBMember<T, S extends Member> extends AbstractWBAnnotated<T, S> implements WBMember<T, S>
+{
+
+ static abstract class WrappableForwardingAnnotatedMember<T, S extends Member> extends ForwardingWBMember<T, S> implements WrappableAnnotatedItem<T, S>
+ {
+
+ }
+
+ // The name of the member
+ private final String name;
+
+ // Cached string representation
+ private String toString;
+
+ private final boolean _public;
+
+ /**
+ * Constructor
+ *
+ * @param annotationMap The annotation map
+ */
+ protected AbstractWBMember(AnnotationStore annotatedItemHelper, Member member, Class<T> rawType, Type type)
+ {
+ super(annotatedItemHelper, rawType, type);
+ name = member.getName();
+ _public = Modifier.isPublic(member.getModifiers());
+ }
+
+ /**
+ * Indicates if the member is static
+ *
+ * @return True if static, false otherwise
+ *
+ * @see org.jboss.webbeans.introspector.WBAnnotated#isStatic()
+ */
+ public boolean isStatic()
+ {
+ return Reflections.isStatic(getDelegate());
+ }
+
+ /**
+ * Indicates if the member if final
+ *
+ * @return True if final, false otherwise
+ *
+ * @see org.jboss.webbeans.introspector.WBAnnotated#isFinal()
+ */
+ public boolean isFinal()
+ {
+ return Reflections.isFinal(getDelegate());
+ }
+
+ public boolean isTransient()
+ {
+ return Reflections.isTransient(getDelegate());
+ }
+
+ public boolean isPublic()
+ {
+ return _public;
+ }
+
+ /**
+ * Gets the current value of the member
+ *
+ * @param beanManager The Web Beans manager
+ * @return The current value
+ *
+ public T getValue(BeanManager beanManager)
+ {
+ return beanManager.getInstance(getRawType(), getMetaAnnotationsAsArray(BindingType.class));
+ }*/
+
+ /**
+ * Gets the name of the member
+ *
+ * @returns The name
+ *
+ * @see org.jboss.webbeans.introspector.WBAnnotated#getName()
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * Gets a string representation of the member
+ *
+ * @return A string representation
+ */
+ @Override
+ public String toString()
+ {
+ if (toString != null)
+ {
+ return toString;
+ }
+ toString = "Abstract annotated member " + getName();
+ return toString;
+ }
+
+ public S getMember()
+ {
+ return getDelegate();
+ }
+
+}
Property changes on: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractWBMember.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Copied: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractWBType.java (from rev 2821, ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractAnnotatedType.java)
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractWBType.java (rev 0)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractWBType.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -0,0 +1,149 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.webbeans.introspector.jlr;
+
+import java.lang.reflect.Modifier;
+import java.lang.reflect.Type;
+
+import org.jboss.webbeans.introspector.WBClass;
+import org.jboss.webbeans.introspector.WBType;
+import org.jboss.webbeans.introspector.AnnotationStore;
+import org.jboss.webbeans.resources.ClassTransformer;
+import org.jboss.webbeans.util.Reflections;
+
+/**
+ * Represents an abstract annotated type
+ *
+ * This class is immutable, and therefore threadsafe
+ *
+ * @author Pete Muir
+ *
+ * @param <T>
+ */
+public abstract class AbstractWBType<T> extends AbstractWBAnnotated<T, Class<T>> implements WBType<T>
+{
+
+ // The superclass abstraction of the type
+ private final WBClass<?> superclass;
+ // The name of the type
+ private final String name;
+
+ private final String _simpleName;
+
+ // Cached string representation
+ private String toString;
+ private final boolean _public;
+
+ /**
+ * Constructor
+ *
+ * @param annotationMap The annotation map
+ */
+ public AbstractWBType(AnnotationStore annotatedItemHelper, Class<T> rawType, Type type, ClassTransformer classTransformer)
+ {
+ super(annotatedItemHelper, rawType, type);
+ this.name = rawType.getName();
+ this._simpleName = rawType.getSimpleName();
+ if (rawType.getSuperclass() != null)
+ {
+ this.superclass = classTransformer.classForName(rawType.getSuperclass());
+ }
+ else
+ {
+ this.superclass = null;
+ }
+ this._public = Modifier.isFinal(rawType.getModifiers());
+ }
+
+ /**
+ * Indicates if the type is static
+ *
+ * @return True if static, false otherwise
+ *
+ * @see org.jboss.webbeans.introspector.WBAnnotated#isStatic()
+ */
+ public boolean isStatic()
+ {
+ return Reflections.isStatic(getDelegate());
+ }
+
+ /**
+ * Indicates if the type if final
+ *
+ * @return True if final, false otherwise
+ *
+ * @see org.jboss.webbeans.introspector.WBAnnotated#isFinal()
+ */
+ public boolean isFinal()
+ {
+ return Reflections.isFinal(getDelegate());
+ }
+
+ public boolean isPublic()
+ {
+ return _public;
+ }
+
+ /**
+ * Gets the name of the type
+ *
+ * @returns The name
+ *
+ * @see org.jboss.webbeans.introspector.WBAnnotated#getName()
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * Gets the superclass abstraction of the type
+ *
+ * @return The superclass abstraction
+ */
+ public WBClass<?> getSuperclass()
+ {
+ return superclass;
+ }
+
+ public boolean isEquivalent(Class<?> clazz)
+ {
+ return getDelegate().equals(clazz);
+ }
+
+ /**
+ * Gets a string representation of the type
+ *
+ * @return A string representation
+ */
+ @Override
+ public String toString()
+ {
+ if (toString != null)
+ {
+ return toString;
+ }
+ toString = "Abstract annotated type " + getName();
+ return toString;
+ }
+
+ public String getSimpleName()
+ {
+ return _simpleName;
+ }
+
+}
Property changes on: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractWBType.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Deleted: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedAnnotationImpl.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedAnnotationImpl.java 2009-06-12 22:30:21 UTC (rev 2827)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedAnnotationImpl.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -1,149 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.webbeans.introspector.jlr;
-
-import java.lang.annotation.Annotation;
-import java.lang.reflect.Method;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-
-import org.jboss.webbeans.introspector.AnnotatedAnnotation;
-import org.jboss.webbeans.introspector.AnnotatedClass;
-import org.jboss.webbeans.introspector.AnnotatedMethod;
-import org.jboss.webbeans.introspector.AnnotationStore;
-import org.jboss.webbeans.resources.ClassTransformer;
-import org.jboss.webbeans.util.collections.multi.SetHashMultiMap;
-import org.jboss.webbeans.util.collections.multi.SetMultiMap;
-
-/**
- * Represents an annotated annotation
- *
- * This class is immutable and therefore threadsafe
- *
- * @author Pete Muir
- *
- * @param <T>
- */
-public class AnnotatedAnnotationImpl<T extends Annotation> extends AbstractAnnotatedType<T> implements AnnotatedAnnotation<T>
-{
-
- // The annotated members map (annotation -> member with annotation)
- private final SetMultiMap<Class<? extends Annotation>, AnnotatedMethod<?>> annotatedMembers;
- // The implementation class of the annotation
- private final Class<T> clazz;
- // The set of abstracted members
- private final Set<AnnotatedMethod<?>> members;
-
- private final Map<String, AnnotatedMethod<?>> namedMembers;
-
- // Cached string representation
- private String toString;
-
- public static <A extends Annotation> AnnotatedAnnotation<A> of(Class<A> annotationType, ClassTransformer classTransformer)
- {
- return new AnnotatedAnnotationImpl<A>(annotationType, classTransformer);
- }
-
- /**
- * Constructor
- *
- * Initializes the superclass with the built annotation map
- *
- * @param annotationType The annotation type
- */
- protected AnnotatedAnnotationImpl(Class<T> annotationType, ClassTransformer classTransformer)
- {
- super(AnnotationStore.of(annotationType), annotationType, annotationType, classTransformer);
- this.clazz = annotationType;
- members = new HashSet<AnnotatedMethod<?>>();
- annotatedMembers = new SetHashMultiMap<Class<? extends Annotation>, AnnotatedMethod<?>>();
- this.namedMembers = new HashMap<String, AnnotatedMethod<?>>();
- for (Method member : clazz.getDeclaredMethods())
- {
- AnnotatedMethod<?> annotatedMethod = AnnotatedMethodImpl.of(member, this);
- members.add(annotatedMethod);
- for (Annotation annotation : annotatedMethod.getAnnotations())
- {
- annotatedMembers.put(annotation.annotationType(), annotatedMethod);
- }
- namedMembers.put(annotatedMethod.getName(), annotatedMethod);
- }
- }
-
- /**
- * Gets all members of the annotation
- *
- * Initializes the members first if they are null
- *
- * @return The set of abstracted members
- *
- * @see org.jboss.webbeans.introspector.AnnotatedAnnotation#getMembers()
- */
- public Set<AnnotatedMethod<?>> getMembers()
- {
- return Collections.unmodifiableSet(members);
- }
-
- /**
- * Returns the annotated members with a given annotation type
- *
- * If the annotated members are null, they are initialized first.
- *
- * @param annotationType The annotation type to match
- * @return The set of abstracted members with the given annotation type
- * present. An empty set is returned if no matches are found
- *
- * @see org.jboss.webbeans.introspector.AnnotatedAnnotation#getAnnotatedMembers(Class)
- */
- public Set<AnnotatedMethod<?>> getAnnotatedMembers(Class<? extends Annotation> annotationType)
- {
- return Collections.unmodifiableSet(annotatedMembers.get(annotationType));
- }
-
- public <A> AnnotatedMethod<A> getMember(String memberName, AnnotatedClass<A> expectedType)
- {
- return (AnnotatedMethod<A>) namedMembers.get(memberName);
- }
-
- /**
- * Gets a string representation of the annotation
- *
- * @return A string representation
- */
- @Override
- public String toString()
- {
- if (toString != null)
- {
- return toString;
- }
- return toString;
- }
-
- public Class<T> getDelegate()
- {
- return clazz;
- }
-
- public AnnotatedAnnotation<T> wrap(Set<Annotation> annotations)
- {
- throw new UnsupportedOperationException();
- }
-}
Deleted: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedClassImpl.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedClassImpl.java 2009-06-12 22:30:21 UTC (rev 2827)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedClassImpl.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -1,474 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.webbeans.introspector.jlr;
-
-import java.lang.annotation.Annotation;
-import java.lang.reflect.Constructor;
-import java.lang.reflect.Field;
-import java.lang.reflect.Method;
-import java.lang.reflect.Type;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.jboss.webbeans.introspector.AnnotatedClass;
-import org.jboss.webbeans.introspector.AnnotatedConstructor;
-import org.jboss.webbeans.introspector.AnnotatedField;
-import org.jboss.webbeans.introspector.AnnotatedMethod;
-import org.jboss.webbeans.introspector.AnnotationStore;
-import org.jboss.webbeans.introspector.ConstructorSignature;
-import org.jboss.webbeans.introspector.MethodSignature;
-import org.jboss.webbeans.resources.ClassTransformer;
-import org.jboss.webbeans.util.Names;
-import org.jboss.webbeans.util.Reflections;
-import org.jboss.webbeans.util.collections.multi.SetHashMultiMap;
-import org.jboss.webbeans.util.collections.multi.SetMultiMap;
-
-/**
- * Represents an annotated class
- *
- * This class is immutable, and therefore threadsafe
- *
- * @author Pete Muir
- *
- * @param <T>
- */
-public class AnnotatedClassImpl<T> extends AbstractAnnotatedType<T> implements AnnotatedClass<T>
-{
-
- private static List<Class<?>> NO_ARGUMENTS = Collections.emptyList();
-
- // The set of abstracted fields
- private final Set<AnnotatedField<?>> fields;
- // The map from annotation type to abstracted field with annotation
- private final SetMultiMap<Class<? extends Annotation>, AnnotatedField<?>> annotatedFields;
- // The map from annotation type to abstracted field with meta-annotation
- private final SetMultiMap<Class<? extends Annotation>, AnnotatedField<?>> metaAnnotatedFields;
-
- // The set of abstracted fields
- private final Set<AnnotatedField<?>> declaredFields;
- private final Map<String, AnnotatedField<?>> declaredFieldsByName;
- // The map from annotation type to abstracted field with annotation
- private final SetMultiMap<Class<? extends Annotation>, AnnotatedField<?>> declaredAnnotatedFields;
- // The map from annotation type to abstracted field with meta-annotation
- private final SetMultiMap<Class<? extends Annotation>, AnnotatedField<?>> declaredMetaAnnotatedFields;
-
- // The set of abstracted methods
- private final Set<AnnotatedMethod<?>> methods;
- private final Map<MethodSignature, AnnotatedMethod<?>> declaredMethodsBySignature;
- // The map from annotation type to abstracted method with annotation
- private final SetMultiMap<Class<? extends Annotation>, AnnotatedMethod<?>> annotatedMethods;
- // The map from annotation type to method with a parameter with annotation
- private final SetMultiMap<Class<? extends Annotation>, AnnotatedMethod<?>> methodsByAnnotatedParameters;
-
- // The set of abstracted methods
- private final Set<AnnotatedMethod<?>> declaredMethods;
- // The map from annotation type to abstracted method with annotation
- private final SetMultiMap<Class<? extends Annotation>, AnnotatedMethod<?>> declaredAnnotatedMethods;
- // The map from annotation type to method with a parameter with annotation
- private final SetMultiMap<Class<? extends Annotation>, AnnotatedMethod<?>> declaredMethodsByAnnotatedParameters;
-
- // The set of abstracted constructors
- private final Set<AnnotatedConstructor<T>> constructors;
- private final Map<ConstructorSignature, AnnotatedConstructor<?>> declaredConstructorsBySignature;
- // The map from annotation type to abstracted constructor with annotation
- private final SetMultiMap<Class<? extends Annotation>, AnnotatedConstructor<T>> annotatedConstructors;
- // The map from class list to abstracted constructor
- private final Map<List<Class<?>>, AnnotatedConstructor<T>> constructorsByArgumentMap;
-
- private final SetMultiMap<Class<? extends Annotation>, AnnotatedConstructor<?>> constructorsByAnnotatedParameters;
-
- // Cached string representation
- private String toString;
-
- private final boolean _nonStaticMemberClass;
- private final boolean _abstract;
- private final boolean _enum;
-
-
- public static <T> AnnotatedClass<T> of(Class<T> clazz, ClassTransformer classTransformer)
- {
- return new AnnotatedClassImpl<T>(clazz, clazz, clazz.getAnnotations(), clazz.getDeclaredAnnotations(), classTransformer);
- }
-
- private AnnotatedClassImpl(Class<T> rawType, Type type, Annotation[] annotations, Annotation[] declaredAnnotations, ClassTransformer classTransformer)
- {
- super(AnnotationStore.of(annotations, declaredAnnotations), rawType, type, classTransformer);
-
- this.fields = new HashSet<AnnotatedField<?>>();
- this.annotatedFields = new SetHashMultiMap<Class<? extends Annotation>, AnnotatedField<?>>();
- this.metaAnnotatedFields = new SetHashMultiMap<Class<? extends Annotation>, AnnotatedField<?>>();
- this.declaredFields = new HashSet<AnnotatedField<?>>();
- this.declaredFieldsByName = new HashMap<String, AnnotatedField<?>>();
- this.declaredAnnotatedFields = new SetHashMultiMap<Class<? extends Annotation>, AnnotatedField<?>>();
- this.declaredMetaAnnotatedFields = new SetHashMultiMap<Class<? extends Annotation>, AnnotatedField<?>>();
- this._nonStaticMemberClass = Reflections.isNonStaticInnerClass(rawType);
- this._abstract = Reflections.isAbstract(rawType);
- this._enum = rawType.isEnum();
- for (Class<?> c = rawType; c != Object.class && c != null; c = c.getSuperclass())
- {
- for (Field field : c.getDeclaredFields())
- {
- if (!field.isAccessible())
- {
- field.setAccessible(true);
- }
- AnnotatedField<?> annotatedField = new AnnotatedFieldImpl<Object>(field, this);
- this.fields.add(annotatedField);
- if (c == rawType)
- {
- this.declaredFields.add(annotatedField);
- this.declaredFieldsByName.put(annotatedField.getName(), annotatedField);
- }
- for (Annotation annotation : annotatedField.getAnnotations())
- {
- this.annotatedFields.put(annotation.annotationType(), annotatedField);
- if (c == rawType)
- {
- this.declaredAnnotatedFields.put(annotation.annotationType(), annotatedField);
- }
- for (Annotation metaAnnotation : annotation.annotationType().getAnnotations())
- {
- this.metaAnnotatedFields.put(metaAnnotation.annotationType(), annotatedField);
- if (c == rawType)
- {
- this.declaredMetaAnnotatedFields.put(metaAnnotation.annotationType(), annotatedField);
- }
- }
- }
-
- }
- }
-
- this.constructors = new HashSet<AnnotatedConstructor<T>>();
- this.constructorsByArgumentMap = new HashMap<List<Class<?>>, AnnotatedConstructor<T>>();
- this.annotatedConstructors = new SetHashMultiMap<Class<? extends Annotation>, AnnotatedConstructor<T>>();
- this.constructorsByAnnotatedParameters = new SetHashMultiMap<Class<? extends Annotation>, AnnotatedConstructor<?>>();
- this.declaredConstructorsBySignature = new HashMap<ConstructorSignature, AnnotatedConstructor<?>>();
- for (Constructor<?> constructor : rawType.getDeclaredConstructors())
- {
- @SuppressWarnings("unchecked")
- Constructor<T> c = (Constructor<T>) constructor;
- AnnotatedConstructor<T> annotatedConstructor = AnnotatedConstructorImpl.of(c, this);
- if (!constructor.isAccessible())
- {
- constructor.setAccessible(true);
- }
- this.constructors.add(annotatedConstructor);
- this.constructorsByArgumentMap.put(Arrays.asList(constructor.getParameterTypes()), annotatedConstructor);
-
- this.declaredConstructorsBySignature.put(annotatedConstructor.getSignature(), annotatedConstructor);
-
- for (Annotation annotation : annotatedConstructor.getAnnotations())
- {
- if (!annotatedConstructors.containsKey(annotation.annotationType()))
- {
- annotatedConstructors.put(annotation.annotationType(), new HashSet<AnnotatedConstructor<T>>());
- }
- annotatedConstructors.get(annotation.annotationType()).add(annotatedConstructor);
- }
-
- for (Class<? extends Annotation> annotationType : AnnotatedConstructor.MAPPED_PARAMETER_ANNOTATIONS)
- {
- if (annotatedConstructor.getAnnotatedParameters(annotationType).size() > 0)
- {
- constructorsByAnnotatedParameters.put(annotationType, annotatedConstructor);
- }
- }
- }
-
- this.methods = new HashSet<AnnotatedMethod<?>>();
- this.annotatedMethods = new SetHashMultiMap<Class<? extends Annotation>, AnnotatedMethod<?>>();
- this.methodsByAnnotatedParameters = new SetHashMultiMap<Class<? extends Annotation>, AnnotatedMethod<?>>();
- this.declaredMethods = new HashSet<AnnotatedMethod<?>>();
- this.declaredAnnotatedMethods = new SetHashMultiMap<Class<? extends Annotation>, AnnotatedMethod<?>>();
- this.declaredMethodsByAnnotatedParameters = new SetHashMultiMap<Class<? extends Annotation>, AnnotatedMethod<?>>();
- this.declaredMethodsBySignature = new HashMap<MethodSignature, AnnotatedMethod<?>>();
- for (Class<?> c = rawType; c != Object.class && c != null; c = c.getSuperclass())
- {
- for (Method method : c.getDeclaredMethods())
- {
- if (!method.isAccessible())
- {
- method.setAccessible(true);
- }
-
- AnnotatedMethod<?> annotatedMethod = AnnotatedMethodImpl.of(method, this);
- this.methods.add(annotatedMethod);
- if (c == rawType)
- {
- this.declaredMethods.add(annotatedMethod);
- this.declaredMethodsBySignature.put(annotatedMethod.getSignature(), annotatedMethod);
- }
- for (Annotation annotation : annotatedMethod.getAnnotations())
- {
- annotatedMethods.put(annotation.annotationType(), annotatedMethod);
- if (c == rawType)
- {
- this.declaredAnnotatedMethods.put(annotation.annotationType(), annotatedMethod);
- }
- }
- for (Class<? extends Annotation> annotationType : AnnotatedMethod.MAPPED_PARAMETER_ANNOTATIONS)
- {
- if (annotatedMethod.getAnnotatedParameters(annotationType).size() > 0)
- {
- methodsByAnnotatedParameters.put(annotationType, annotatedMethod);
- if (c == rawType)
- {
- this.declaredMethodsByAnnotatedParameters.put(annotationType, annotatedMethod);
- }
- }
- }
- }
- }
- }
-
- /**
- * Gets the implementing class
- *
- * @return The class
- */
- public Class<? extends T> getAnnotatedClass()
- {
- return getRawType();
- }
-
- /**
- * Gets the delegate (class)
- *
- * @return The class
- */
- public Class<T> getDelegate()
- {
- return getRawType();
- }
-
- /**
- * Gets the abstracted fields of the class
- *
- * Initializes the fields if they are null
- *
- * @return The set of abstracted fields
- */
- public Set<AnnotatedField<?>> getFields()
- {
- return Collections.unmodifiableSet(fields);
- }
-
- public Set<AnnotatedField<?>> getDeclaredFields()
- {
- return Collections.unmodifiableSet(declaredFields);
- }
-
- public <F> AnnotatedField<F> getDeclaredField(String fieldName, AnnotatedClass<F> expectedType)
- {
- return (AnnotatedField<F>) declaredFieldsByName.get(fieldName);
- }
-
- public Set<AnnotatedField<?>> getDeclaredAnnotatedFields(Class<? extends Annotation> annotationType)
- {
- return Collections.unmodifiableSet(declaredAnnotatedFields.get(annotationType));
- }
-
- /**
- * Gets the abstracted constructors of the class
- *
- * Initializes the constructors if they are null
- *
- * @return The set of abstracted constructors
- */
- public Set<AnnotatedConstructor<T>> getConstructors()
- {
- return Collections.unmodifiableSet(constructors);
- }
-
- public AnnotatedConstructor<T> getDeclaredConstructor(ConstructorSignature signature)
- {
- return (AnnotatedConstructor<T>) declaredConstructorsBySignature.get(signature);
- }
-
- /**
- * Gets abstracted fields with requested meta-annotation type present
- *
- * If the meta-annotations map is null, it is initializes. If the annotated
- * fields are null, it is initialized The meta-annotated field map is then
- * populated for the requested meta-annotation type and the result is
- * returned
- *
- * @param metaAnnotationType
- * The meta-annotation type to match
- * @return The set of abstracted fields with meta-annotation present. Returns
- * an empty set if no matches are found.
- */
- public Set<AnnotatedField<?>> getMetaAnnotatedFields(Class<? extends Annotation> metaAnnotationType)
- {
- return Collections.unmodifiableSet(metaAnnotatedFields.get(metaAnnotationType));
- }
-
- /**
- * Gets the abstracted field annotated with a specific annotation type
- *
- * If the fields map is null, initialize it first
- *
- * @param annotationType
- * The annotation type to match
- * @return A set of matching abstracted fields, null if none are found.
- *
- */
- public Set<AnnotatedField<?>> getAnnotatedFields(Class<? extends Annotation> annotationType)
- {
- return Collections.unmodifiableSet(annotatedFields.get(annotationType));
- }
-
- public boolean isNonStaticMemberClass()
- {
- return _nonStaticMemberClass;
- }
-
- public boolean isAbstract()
- {
- return _abstract;
- }
-
- public boolean isEnum()
- {
- return _enum;
- }
-
- /**
- * Gets the abstracted methods that have a certain annotation type present
- *
- * If the annotated methods map is null, initialize it first
- *
- * @param annotationType
- * The annotation type to match
- * @return A set of matching method abstractions. Returns an empty set if no
- * matches are found.
- *
- * @see org.jboss.webbeans.introspector.AnnotatedClass#getAnnotatedMethods(Class)
- */
- public Set<AnnotatedMethod<?>> getAnnotatedMethods(Class<? extends Annotation> annotationType)
- {
- return Collections.unmodifiableSet(annotatedMethods.get(annotationType));
- }
-
- public Set<AnnotatedMethod<?>> getDeclaredAnnotatedMethods(Class<? extends Annotation> annotationType)
- {
- return Collections.unmodifiableSet(declaredAnnotatedMethods.get(annotationType));
- }
-
- /**
- * Gets constructors with given annotation type
- *
- * @param annotationType
- * The annotation type to match
- * @return A set of abstracted constructors with given annotation type. If
- * the constructors set is empty, initialize it first. Returns an
- * empty set if there are no matches.
- *
- * @see org.jboss.webbeans.introspector.AnnotatedClass#getAnnotatedConstructors(Class)
- */
- public Set<AnnotatedConstructor<T>> getAnnotatedConstructors(Class<? extends Annotation> annotationType)
- {
- return Collections.unmodifiableSet(annotatedConstructors.get(annotationType));
- }
-
- public AnnotatedConstructor<T> getNoArgsConstructor()
- {
- return constructorsByArgumentMap.get(NO_ARGUMENTS);
- }
-
- public Set<AnnotatedMethod<?>> getMethodsWithAnnotatedParameters(Class<? extends Annotation> annotationType)
- {
- return Collections.unmodifiableSet(methodsByAnnotatedParameters.get(annotationType));
- }
-
- public Set<AnnotatedConstructor<?>> getConstructorsWithAnnotatedParameters(Class<? extends Annotation> annotationType)
- {
- return Collections.unmodifiableSet(constructorsByAnnotatedParameters.get(annotationType));
- }
-
- public Set<AnnotatedMethod<?>> getDeclaredMethodsWithAnnotatedParameters(Class<? extends Annotation> annotationType)
- {
- return Collections.unmodifiableSet(declaredMethodsByAnnotatedParameters.get(annotationType));
- }
-
- public AnnotatedMethod<?> getMethod(Method methodDescriptor)
- {
- // TODO Should be cached
- for (AnnotatedMethod<?> annotatedMethod : methods)
- {
- if (annotatedMethod.getName().equals(methodDescriptor.getName()) && Arrays.equals(annotatedMethod.getParameterTypesAsArray(), methodDescriptor.getParameterTypes()))
- {
- return annotatedMethod;
- }
- }
- return null;
- }
-
- public AnnotatedMethod<?> getDeclaredMethod(Method method)
- {
- // TODO Should be cached
- for (AnnotatedMethod<?> annotatedMethod : declaredMethods)
- {
- if (annotatedMethod.getName().equals(method.getName()) && Arrays.equals(annotatedMethod.getParameterTypesAsArray(), method.getParameterTypes()))
- {
- return annotatedMethod;
- }
- }
- return null;
- }
-
- @SuppressWarnings("unchecked")
- public <M> AnnotatedMethod<M> getDeclaredMethod(MethodSignature signature, AnnotatedClass<M> expectedReturnType)
- {
- return (AnnotatedMethod<M>) declaredMethodsBySignature.get(signature);
- }
-
- /**
- * Gets a string representation of the class
- *
- * @return A string representation
- */
- @Override
- public String toString()
- {
- if (toString != null)
- {
- return toString;
- }
- toString = "Annotated class " + Names.classToString(getDelegate());
- return toString;
- }
-
- @SuppressWarnings("unchecked")
- public <U> AnnotatedClass<? extends U> asSubclass(AnnotatedClass<U> clazz)
- {
- return (AnnotatedClass<? extends U>) this;
- }
-
- @SuppressWarnings("unchecked")
- public T cast(Object object)
- {
- return (T) object;
- }
-
-}
\ No newline at end of file
Deleted: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedConstructorImpl.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedConstructorImpl.java 2009-06-12 22:30:21 UTC (rev 2827)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedConstructorImpl.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -1,255 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.webbeans.introspector.jlr;
-
-import java.lang.annotation.Annotation;
-import java.lang.reflect.Constructor;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Type;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import org.jboss.webbeans.BeanManagerImpl;
-import org.jboss.webbeans.introspector.AnnotatedConstructor;
-import org.jboss.webbeans.introspector.AnnotatedParameter;
-import org.jboss.webbeans.introspector.AnnotatedType;
-import org.jboss.webbeans.introspector.AnnotationStore;
-import org.jboss.webbeans.introspector.ConstructorSignature;
-import org.jboss.webbeans.util.Names;
-import org.jboss.webbeans.util.collections.multi.ListHashMultiMap;
-import org.jboss.webbeans.util.collections.multi.ListMultiMap;
-
-/**
- * Represents an annotated constructor
- *
- * This class is immutable, and therefore threadsafe
- *
- * @author Pete Muir
- *
- * @param <T>
- */
-public class AnnotatedConstructorImpl<T> extends AbstractAnnotatedMember<T, Constructor<T>> implements AnnotatedConstructor<T>
-{
-
- // The underlying constructor
- private final Constructor<T> constructor;
-
- // The list of parameter abstractions
- private final List<AnnotatedParameter<?>> parameters;
- // The mapping of annotation -> parameter abstraction
- private final ListMultiMap<Class<? extends Annotation>, AnnotatedParameter<?>> annotatedParameters;
-
- // The declaring class abstraction
- private final AnnotatedType<T> declaringClass;
-
- private final ConstructorSignature signature;
-
- // Cached string representation
- private String toString;
-
- public static <T> AnnotatedConstructor<T> of(Constructor<T> constructor, AnnotatedType<T> declaringClass)
- {
- return new AnnotatedConstructorImpl<T>(constructor, declaringClass);
- }
-
- /**
- * Constructor
- *
- * Initializes the superclass with the build annotations map
- *
- * @param constructor The constructor method
- * @param declaringClass The declaring class
- */
- protected AnnotatedConstructorImpl(Constructor<T> constructor, AnnotatedType<T> declaringClass)
- {
- super(AnnotationStore.of(constructor), constructor, constructor.getDeclaringClass(), constructor.getDeclaringClass());
- this.constructor = constructor;
- this.declaringClass = declaringClass;
-
- this.parameters = new ArrayList<AnnotatedParameter<?>>();
- annotatedParameters = new ListHashMultiMap<Class<? extends Annotation>, AnnotatedParameter<?>>();
-
- for (int i = 0; i < constructor.getParameterTypes().length; i++)
- {
- if (constructor.getParameterAnnotations()[i].length > 0)
- {
- Class<?> clazz = constructor.getParameterTypes()[i];
- Type type = constructor.getGenericParameterTypes()[i];
- AnnotatedParameter<?> parameter = AnnotatedParameterImpl.of(constructor.getParameterAnnotations()[i], clazz, type, this);
- parameters.add(parameter);
-
- for (Annotation annotation : parameter.getAnnotations())
- {
- annotatedParameters.put(annotation.annotationType(), parameter);
- }
- }
- else
- {
- Class<?> clazz = constructor.getParameterTypes()[i];
- Type type;
- if (constructor.getGenericParameterTypes().length > i)
- {
- type = constructor.getGenericParameterTypes()[i];
- }
- else
- {
- type = clazz;
- }
- AnnotatedParameter<?> parameter = AnnotatedParameterImpl.of(new Annotation[0], clazz, type, this);
- parameters.add(parameter);
-
- for (Annotation annotation : parameter.getAnnotations())
- {
- annotatedParameters.put(annotation.annotationType(), parameter);
- }
- }
- }
- this.signature = new ConstructorSignatureImpl(this);
- }
-
- /**
- * Gets the constructor
- *
- * @return The constructor
- */
- public Constructor<T> getAnnotatedConstructor()
- {
- return constructor;
- }
-
- /**
- * Gets the delegate (constructor)
- *
- * @return The delegate
- */
- @Override
-public Constructor<T> getDelegate()
- {
- return constructor;
- }
-
- /**
- * Gets the abstracted parameters
- *
- * If the parameters are null, initalize them first
- *
- * @return A list of annotated parameter abstractions
- *
- * @see org.jboss.webbeans.introspector.AnnotatedConstructor#getParameters()
- */
- public List<AnnotatedParameter<?>> getParameters()
- {
- return Collections.unmodifiableList(parameters);
- }
-
- /**
- * Gets parameter abstractions with a given annotation type.
- *
- * If the parameters are null, they are initializes first.
- *
- * @param annotationType The annotation type to match
- * @return A list of matching parameter abstractions. An empty list is
- * returned if there are no matches.
- *
- * @see org.jboss.webbeans.introspector.AnnotatedConstructor#getAnnotatedParameters(Class)
- */
- public List<AnnotatedParameter<?>> getAnnotatedParameters(Class<? extends Annotation> annotationType)
- {
- return Collections.unmodifiableList(annotatedParameters.get(annotationType));
- }
-
- /**
- * Creates a new instance
- *
- * @param manager The Web Beans manager
- * @return An instance
- * @throws InvocationTargetException
- * @throws IllegalAccessException
- * @throws InstantiationException
- * @throws IllegalArgumentException
- *
- * @see org.jboss.webbeans.introspector.AnnotatedConstructor#newInstance(BeanManagerImpl)
- */
- public T newInstance(Object... parameters) throws IllegalArgumentException, InstantiationException, IllegalAccessException, InvocationTargetException
- {
- return getDelegate().newInstance(parameters);
- }
-
- /**
- * The overridden equals operation
- *
- * @param other The instance to compare to
- * @return True if equal, false otherwise
- */
- @Override
- public boolean equals(Object other)
- {
-
- if (super.equals(other) && other instanceof AnnotatedConstructor)
- {
- AnnotatedConstructor<?> that = (AnnotatedConstructor<?>) other;
- return this.getDeclaringClass().equals(that.getDeclaringClass()) && this.getParameters().equals(that.getParameters());
- }
- return false;
- }
-
- /**
- * The overridden hashcode
- *
- * Gets the hash code from the delegate
- *
- * @return The hash code
- */
- @Override
- public int hashCode()
- {
- return getDelegate().hashCode();
- }
-
- /**
- * Gets the declaring class
- *
- * @return The declaring class
- */
- public AnnotatedType<T> getDeclaringClass()
- {
- return declaringClass;
- }
-
- /**
- * Gets a string representation of the constructor
- *
- * @return A string representation
- */
- @Override
- public String toString()
- {
- if (toString != null)
- {
- return toString;
- }
- toString = "Annotated constructor " + Names.constructorToString(constructor);
- return toString;
- }
-
- public ConstructorSignature getSignature()
- {
- return signature;
- }
-
-}
Deleted: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedFieldImpl.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedFieldImpl.java 2009-06-12 22:30:21 UTC (rev 2827)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedFieldImpl.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -1,156 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.webbeans.introspector.jlr;
-
-import java.lang.reflect.Field;
-
-import org.jboss.webbeans.introspector.AnnotatedField;
-import org.jboss.webbeans.introspector.AnnotatedType;
-import org.jboss.webbeans.introspector.AnnotationStore;
-import org.jboss.webbeans.util.Names;
-import org.jboss.webbeans.util.Reflections;
-
-/**
- * Represents an annotated field
- *
- * This class is immutable, and therefore threadsafe
- *
- * @author Pete Muir
- *
- * @param <T>
- */
-public class AnnotatedFieldImpl<T> extends AbstractAnnotatedMember<T, Field> implements AnnotatedField<T>
-{
-
- // The underlying field
- private final Field field;
- // The abstraction of the declaring class
- private final AnnotatedType<?> declaringClass;
-
- // Cached string representation
- private String toString;
-
- /**
- * Constructor
- *
- * Initializes the superclass with the built annotation map and detects the
- * type arguments
- *
- * @param field The actual field
- * @param declaringClass The abstraction of the declaring class
- */
- protected AnnotatedFieldImpl(Field field, AnnotatedType<?> declaringClass)
- {
- super(AnnotationStore.of(field), field, (Class<T>) field.getType(), field.getGenericType());
- this.field = field;
- field.setAccessible(true);
- this.declaringClass = declaringClass;
- }
-
- /**
- * Gets the underlying field
- *
- * @return The fields
- */
- public Field getAnnotatedField()
- {
- return field;
- }
-
- public Field getDelegate()
- {
- return field;
- }
-
- public void set(Object instance, Object value) throws IllegalArgumentException, IllegalAccessException
- {
- field.set(instance, value);
- }
-
- public void setOnInstance(Object instance, Object value) throws IllegalArgumentException, SecurityException, IllegalAccessException, NoSuchFieldException
- {
- instance.getClass().getField(getName()).set(instance, value);
- }
-
- @SuppressWarnings("unchecked")
- public T get(Object instance)
- {
- return (T) Reflections.getAndWrap(getDelegate(), instance);
- }
-
- /**
- * Gets the property name
- *
- * @return The property name
- *
- * @see org.jboss.webbeans.introspector.AnnotatedField#getName()
- */
- public String getPropertyName()
- {
- return getName();
- }
-
- /**
- * Gets the abstracted declaring class
- *
- * @return The declaring class
- *
- * @see org.jboss.webbeans.introspector.AnnotatedField#getDeclaringClass()
- */
- public AnnotatedType<?> getDeclaringClass()
- {
- return declaringClass;
- }
-
- /**
- * Gets a string representation of the field
- *
- * @return A string representation
- */
- @Override
- public String toString()
- {
- if (toString != null)
- {
- return toString;
- }
- toString = Names.fieldToString(field) + " on " + getDeclaringClass();
- return toString;
- }
-
- @Override
- public boolean equals(Object other)
- {
- if (other instanceof AnnotatedField)
- {
- AnnotatedField<?> that = (AnnotatedField<?>) other;
- return this.getDeclaringClass().equals(that.getDeclaringClass()) && this.getName().equals(that.getName());
- }
- else
- {
- return false;
- }
- }
-
-
- @Override
- public int hashCode()
- {
- return getDelegate().hashCode();
- }
-
-}
Deleted: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedMethodImpl.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedMethodImpl.java 2009-06-12 22:30:21 UTC (rev 2827)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedMethodImpl.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -1,222 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.webbeans.introspector.jlr;
-
-import java.lang.annotation.Annotation;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.lang.reflect.Type;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-
-import org.jboss.webbeans.introspector.AnnotatedMethod;
-import org.jboss.webbeans.introspector.AnnotatedParameter;
-import org.jboss.webbeans.introspector.AnnotatedType;
-import org.jboss.webbeans.introspector.AnnotationStore;
-import org.jboss.webbeans.introspector.MethodSignature;
-import org.jboss.webbeans.util.Names;
-import org.jboss.webbeans.util.Reflections;
-import org.jboss.webbeans.util.collections.multi.ListHashMultiMap;
-import org.jboss.webbeans.util.collections.multi.ListMultiMap;
-
-/**
- * Represents an annotated method
- *
- * This class is immutable and therefore threadsafe
- *
- * @author Pete Muir
- *
- * @param <T>
- */
-public class AnnotatedMethodImpl<T> extends AbstractAnnotatedMember<T, Method> implements AnnotatedMethod<T>
-{
-
- // The underlying method
- private final Method method;
-
- // The abstracted parameters
- private final List<AnnotatedParameter<?>> parameters;
- // A mapping from annotation type to parameter abstraction with that
- // annotation present
- private final ListMultiMap<Class<? extends Annotation>, AnnotatedParameter<?>> annotatedParameters;
-
- // The property name
- private final String propertyName;
-
- // The abstracted declaring class
- private final AnnotatedType<?> declaringClass;
-
- // Cached string representation
- private String toString;
-
- private final MethodSignature signature;
-
- public static <T> AnnotatedMethodImpl<T> of(Method method, AnnotatedType<?> declaringClass)
- {
- return new AnnotatedMethodImpl<T>(method, declaringClass);
- }
-
- /**
- * Constructor
- *
- * Initializes the superclass with the built annotation map, sets the method
- * and declaring class abstraction and detects the actual type arguments
- *
- * @param method The underlying method
- * @param declaringClass The declaring class abstraction
- */
- @SuppressWarnings("unchecked")
- protected AnnotatedMethodImpl(Method method, AnnotatedType<?> declaringClass)
- {
- super(AnnotationStore.of(method), method, (Class<T>) method.getReturnType(), method.getGenericReturnType());
- this.method = method;
- this.method.setAccessible(true);
- this.declaringClass = declaringClass;
- this.parameters = new ArrayList<AnnotatedParameter<?>>();
- this.annotatedParameters = new ListHashMultiMap<Class<? extends Annotation>, AnnotatedParameter<?>>();
-
- for (int i = 0; i < method.getParameterTypes().length; i++)
- {
- if (method.getParameterAnnotations()[i].length > 0)
- {
- Class<? extends Object> clazz = method.getParameterTypes()[i];
- Type type = method.getGenericParameterTypes()[i];
- AnnotatedParameter<?> parameter = AnnotatedParameterImpl.of(method.getParameterAnnotations()[i], (Class<Object>) clazz, type, this);
- this.parameters.add(parameter);
- for (Annotation annotation : parameter.getAnnotations())
- {
- if (MAPPED_PARAMETER_ANNOTATIONS.contains(annotation.annotationType()))
- {
- annotatedParameters.put(annotation.annotationType(), parameter);
- }
- }
- }
- else
- {
- Class<? extends Object> clazz = method.getParameterTypes()[i];
- Type type = method.getGenericParameterTypes()[i];
- AnnotatedParameter<?> parameter = AnnotatedParameterImpl.of(new Annotation[0], (Class<Object>) clazz, type, this);
- this.parameters.add(parameter);
- }
- }
-
- String propertyName = Reflections.getPropertyName(getDelegate());
- if (propertyName == null)
- {
- this.propertyName = getName();
- }
- else
- {
- this.propertyName = propertyName;
- }
- this.signature = new MethodSignatureImpl(this);
- }
-
- public Method getAnnotatedMethod()
- {
- return method;
- }
-
- public Method getDelegate()
- {
- return method;
- }
-
- public List<AnnotatedParameter<?>> getParameters()
- {
- return Collections.unmodifiableList(parameters);
- }
-
- public Class<?>[] getParameterTypesAsArray()
- {
- return method.getParameterTypes();
- }
-
- public List<AnnotatedParameter<?>> getAnnotatedParameters(Class<? extends Annotation> annotationType)
- {
- return Collections.unmodifiableList(annotatedParameters.get(annotationType));
- }
-
- @Override
- public boolean equals(Object other)
- {
- if (other instanceof AnnotatedMethod)
- {
- AnnotatedMethod<?> that = (AnnotatedMethod<?>) other;
- return this.getDeclaringClass().equals(that.getDeclaringClass()) && this.getName().equals(that.getName()) && this.getParameters().equals(that.getParameters());
- }
- else
- {
- return false;
- }
- }
-
- public boolean isEquivalent(Method method)
- {
- return this.getDeclaringClass().isEquivalent(method.getDeclaringClass()) && this.getName().equals(method.getName()) && Arrays.equals(this.getParameterTypesAsArray(), method.getParameterTypes());
- }
-
- @Override
- public int hashCode()
- {
- return getDelegate().hashCode();
- }
-
- public T invokeOnInstance(Object instance, Object...parameters) throws IllegalArgumentException, SecurityException, IllegalAccessException, InvocationTargetException, NoSuchMethodException
- {
- Method method = Reflections.lookupMethod(getName(), getParameterTypesAsArray(), instance);
- @SuppressWarnings("unchecked")
- T result = (T) method.invoke(instance, parameters);
- return result;
- }
-
- public T invoke(Object instance, Object... parameters) throws IllegalArgumentException, IllegalAccessException, InvocationTargetException
- {
- @SuppressWarnings("unchecked")
- T result = (T) method.invoke(instance, parameters);
- return result;
- }
-
- public String getPropertyName()
- {
- return propertyName;
- }
-
- public AnnotatedType<?> getDeclaringClass()
- {
- return declaringClass;
- }
-
- @Override
- public String toString()
- {
- if (toString != null)
- {
- return toString;
- }
- toString = "Annotated method on class " + getDeclaringClass().getName() + Names.methodToString(method);
- return toString;
- }
-
- public MethodSignature getSignature()
- {
- return signature;
- }
-
-}
Deleted: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedParameterImpl.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedParameterImpl.java 2009-06-12 22:30:21 UTC (rev 2827)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedParameterImpl.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -1,166 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.webbeans.introspector.jlr;
-
-import java.lang.annotation.Annotation;
-import java.lang.reflect.Type;
-import java.util.Set;
-
-import org.jboss.webbeans.introspector.AnnotatedMember;
-import org.jboss.webbeans.introspector.AnnotatedParameter;
-import org.jboss.webbeans.introspector.AnnotationStore;
-
-/**
- * Represents a parameter
- *
- * This class is immutable and therefore threadsafe
- *
- * @author Pete Muir
- *
- * @param <T>
- */
-public class AnnotatedParameterImpl<T> extends AbstractAnnotatedItem<T, Object> implements AnnotatedParameter<T>
-{
-
- // The final state
- private final boolean _final = false;
- // The static state
- private final boolean _static = false;
- private final boolean _public = false;
- private final AnnotatedMember<?, ?> declaringMember;
-
- // Cached string representation
- private String toString;
-
- public static <T> AnnotatedParameter<T> of(Annotation[] annotations, Class<T> rawType, Type type, AnnotatedMember<?, ?> declaringMember)
- {
- return new AnnotatedParameterImpl<T>(annotations, rawType, type, declaringMember);
- }
-
- /**
- * Constructor
- *
- * @param annotations The annotations array
- * @param type The type of the parameter
- */
- protected AnnotatedParameterImpl(Annotation[] annotations, Class<T> rawType, Type type, AnnotatedMember<?, ?> declaringMember)
- {
- super(AnnotationStore.of(annotations, annotations), rawType, type);
- this.declaringMember = declaringMember;
- }
-
- /**
- * Gets the delegate
- *
- * @return The delegate (null)
- *
- * @see org.jboss.webbeans.introspector.AnnotatedItem#getDelegate()
- */
- public Object getDelegate()
- {
- return null;
- }
-
- /**
- * Indicates if the parameter is final
- *
- * @return True if final, false otherwise
- *
- * @see org.jboss.webbeans.introspector.AnnotatedItem#isFinal()
- */
- public boolean isFinal()
- {
- return _final;
- }
-
- /**
- * Indicates if the parameter is static
- *
- * @return True if static, false otherwise
- *
- * @see org.jboss.webbeans.introspector.AnnotatedItem#isStatic()
- */
- public boolean isStatic()
- {
- return _static;
- }
-
- public boolean isPublic()
- {
- return _public;
- }
-
- /**
- * Gets the current value
- *
- * @param beanManager The Web Beans manager
- * @return the value
- *
- * @see org.jboss.webbeans.introspector.AnnotatedParameter
- *
- public T getValue(BeanManager beanManager)
- {
- return beanManager.getInstanceByType(getRawType(), getMetaAnnotationsAsArray(BindingType.class));
- }*/
-
- /**
- * Gets the name of the parameter
- *
- * @throws IllegalArgumentException (not supported)
- *
- * @see org.jboss.webbeans.introspector.AnnotatedItem#getName()
- */
- public String getName()
- {
- throw new IllegalArgumentException("Unable to determine name of parameter");
- }
-
- /**
- * Gets a string representation of the parameter
- *
- * @return A string representation
- */
- @Override
- public String toString()
- {
- if (toString == null)
- {
- StringBuilder buffer = new StringBuilder();
- buffer.append("Annotated parameter ");
- if (_static)
- buffer.append("static ");
- if (_final)
- buffer.append("final ");
- buffer.append(getRawType().getName());
- buffer.append(" for operation ");
- buffer.append(getDeclaringMember().toString());
- toString = buffer.toString();
- }
- return toString;
- }
-
- public AnnotatedMember<?, ?> getDeclaringMember()
- {
- return declaringMember;
- }
-
- public AnnotatedParameter<T> wrap(Set<Annotation> annotations)
- {
- throw new UnsupportedOperationException();
- }
-
-}
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/ConstructorSignatureImpl.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/ConstructorSignatureImpl.java 2009-06-12 22:30:21 UTC (rev 2827)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/ConstructorSignatureImpl.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -18,7 +18,7 @@
import java.util.Arrays;
-import org.jboss.webbeans.introspector.AnnotatedConstructor;
+import org.jboss.webbeans.introspector.WBConstructor;
import org.jboss.webbeans.introspector.ConstructorSignature;
import org.jboss.webbeans.introspector.MethodSignature;
@@ -27,7 +27,7 @@
private final String[] parameterTypes;
- public ConstructorSignatureImpl(AnnotatedConstructor<?> method)
+ public ConstructorSignatureImpl(WBConstructor<?> method)
{
this.parameterTypes = new String[method.getParameters().size()];
for (int i = 0; i < method.getParameters().size(); i++)
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/MethodSignatureImpl.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/MethodSignatureImpl.java 2009-06-12 22:30:21 UTC (rev 2827)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/MethodSignatureImpl.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -19,7 +19,7 @@
import java.lang.reflect.Method;
import java.util.Arrays;
-import org.jboss.webbeans.introspector.AnnotatedMethod;
+import org.jboss.webbeans.introspector.WBMethod;
import org.jboss.webbeans.introspector.MethodSignature;
public class MethodSignatureImpl implements MethodSignature
@@ -30,7 +30,7 @@
private final String methodName;
private final String[] parameterTypes;
- public MethodSignatureImpl(AnnotatedMethod<?> method)
+ public MethodSignatureImpl(WBMethod<?> method)
{
this.methodName = method.getName();
this.parameterTypes = new String[method.getParameters().size()];
Copied: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/WBAnnotationImpl.java (from rev 2827, ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedAnnotationImpl.java)
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/WBAnnotationImpl.java (rev 0)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/WBAnnotationImpl.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -0,0 +1,149 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.webbeans.introspector.jlr;
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Method;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
+import org.jboss.webbeans.introspector.WBAnnotation;
+import org.jboss.webbeans.introspector.WBClass;
+import org.jboss.webbeans.introspector.WBMethod;
+import org.jboss.webbeans.introspector.AnnotationStore;
+import org.jboss.webbeans.resources.ClassTransformer;
+import org.jboss.webbeans.util.collections.multi.SetHashMultiMap;
+import org.jboss.webbeans.util.collections.multi.SetMultiMap;
+
+/**
+ * Represents an annotated annotation
+ *
+ * This class is immutable and therefore threadsafe
+ *
+ * @author Pete Muir
+ *
+ * @param <T>
+ */
+public class WBAnnotationImpl<T extends Annotation> extends AbstractWBType<T> implements WBAnnotation<T>
+{
+
+ // The annotated members map (annotation -> member with annotation)
+ private final SetMultiMap<Class<? extends Annotation>, WBMethod<?>> annotatedMembers;
+ // The implementation class of the annotation
+ private final Class<T> clazz;
+ // The set of abstracted members
+ private final Set<WBMethod<?>> members;
+
+ private final Map<String, WBMethod<?>> namedMembers;
+
+ // Cached string representation
+ private String toString;
+
+ public static <A extends Annotation> WBAnnotation<A> of(Class<A> annotationType, ClassTransformer classTransformer)
+ {
+ return new WBAnnotationImpl<A>(annotationType, classTransformer);
+ }
+
+ /**
+ * Constructor
+ *
+ * Initializes the superclass with the built annotation map
+ *
+ * @param annotationType The annotation type
+ */
+ protected WBAnnotationImpl(Class<T> annotationType, ClassTransformer classTransformer)
+ {
+ super(AnnotationStore.of(annotationType), annotationType, annotationType, classTransformer);
+ this.clazz = annotationType;
+ members = new HashSet<WBMethod<?>>();
+ annotatedMembers = new SetHashMultiMap<Class<? extends Annotation>, WBMethod<?>>();
+ this.namedMembers = new HashMap<String, WBMethod<?>>();
+ for (Method member : clazz.getDeclaredMethods())
+ {
+ WBMethod<?> annotatedMethod = WBMethodImpl.of(member, this);
+ members.add(annotatedMethod);
+ for (Annotation annotation : annotatedMethod.getAnnotations())
+ {
+ annotatedMembers.put(annotation.annotationType(), annotatedMethod);
+ }
+ namedMembers.put(annotatedMethod.getName(), annotatedMethod);
+ }
+ }
+
+ /**
+ * Gets all members of the annotation
+ *
+ * Initializes the members first if they are null
+ *
+ * @return The set of abstracted members
+ *
+ * @see org.jboss.webbeans.introspector.WBAnnotation#getMembers()
+ */
+ public Set<WBMethod<?>> getMembers()
+ {
+ return Collections.unmodifiableSet(members);
+ }
+
+ /**
+ * Returns the annotated members with a given annotation type
+ *
+ * If the annotated members are null, they are initialized first.
+ *
+ * @param annotationType The annotation type to match
+ * @return The set of abstracted members with the given annotation type
+ * present. An empty set is returned if no matches are found
+ *
+ * @see org.jboss.webbeans.introspector.WBAnnotation#getAnnotatedMembers(Class)
+ */
+ public Set<WBMethod<?>> getAnnotatedMembers(Class<? extends Annotation> annotationType)
+ {
+ return Collections.unmodifiableSet(annotatedMembers.get(annotationType));
+ }
+
+ public <A> WBMethod<A> getMember(String memberName, WBClass<A> expectedType)
+ {
+ return (WBMethod<A>) namedMembers.get(memberName);
+ }
+
+ /**
+ * Gets a string representation of the annotation
+ *
+ * @return A string representation
+ */
+ @Override
+ public String toString()
+ {
+ if (toString != null)
+ {
+ return toString;
+ }
+ return toString;
+ }
+
+ public Class<T> getDelegate()
+ {
+ return clazz;
+ }
+
+ public WBAnnotation<T> wrap(Set<Annotation> annotations)
+ {
+ throw new UnsupportedOperationException();
+ }
+}
Property changes on: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/WBAnnotationImpl.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Copied: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/WBClassImpl.java (from rev 2827, ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedClassImpl.java)
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/WBClassImpl.java (rev 0)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/WBClassImpl.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -0,0 +1,474 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.webbeans.introspector.jlr;
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Constructor;
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+import java.lang.reflect.Type;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import org.jboss.webbeans.introspector.WBClass;
+import org.jboss.webbeans.introspector.WBConstructor;
+import org.jboss.webbeans.introspector.WBField;
+import org.jboss.webbeans.introspector.WBMethod;
+import org.jboss.webbeans.introspector.AnnotationStore;
+import org.jboss.webbeans.introspector.ConstructorSignature;
+import org.jboss.webbeans.introspector.MethodSignature;
+import org.jboss.webbeans.resources.ClassTransformer;
+import org.jboss.webbeans.util.Names;
+import org.jboss.webbeans.util.Reflections;
+import org.jboss.webbeans.util.collections.multi.SetHashMultiMap;
+import org.jboss.webbeans.util.collections.multi.SetMultiMap;
+
+/**
+ * Represents an annotated class
+ *
+ * This class is immutable, and therefore threadsafe
+ *
+ * @author Pete Muir
+ *
+ * @param <T>
+ */
+public class WBClassImpl<T> extends AbstractWBType<T> implements WBClass<T>
+{
+
+ private static List<Class<?>> NO_ARGUMENTS = Collections.emptyList();
+
+ // The set of abstracted fields
+ private final Set<WBField<?>> fields;
+ // The map from annotation type to abstracted field with annotation
+ private final SetMultiMap<Class<? extends Annotation>, WBField<?>> annotatedFields;
+ // The map from annotation type to abstracted field with meta-annotation
+ private final SetMultiMap<Class<? extends Annotation>, WBField<?>> metaAnnotatedFields;
+
+ // The set of abstracted fields
+ private final Set<WBField<?>> declaredFields;
+ private final Map<String, WBField<?>> declaredFieldsByName;
+ // The map from annotation type to abstracted field with annotation
+ private final SetMultiMap<Class<? extends Annotation>, WBField<?>> declaredAnnotatedFields;
+ // The map from annotation type to abstracted field with meta-annotation
+ private final SetMultiMap<Class<? extends Annotation>, WBField<?>> declaredMetaAnnotatedFields;
+
+ // The set of abstracted methods
+ private final Set<WBMethod<?>> methods;
+ private final Map<MethodSignature, WBMethod<?>> declaredMethodsBySignature;
+ // The map from annotation type to abstracted method with annotation
+ private final SetMultiMap<Class<? extends Annotation>, WBMethod<?>> annotatedMethods;
+ // The map from annotation type to method with a parameter with annotation
+ private final SetMultiMap<Class<? extends Annotation>, WBMethod<?>> methodsByAnnotatedParameters;
+
+ // The set of abstracted methods
+ private final Set<WBMethod<?>> declaredMethods;
+ // The map from annotation type to abstracted method with annotation
+ private final SetMultiMap<Class<? extends Annotation>, WBMethod<?>> declaredAnnotatedMethods;
+ // The map from annotation type to method with a parameter with annotation
+ private final SetMultiMap<Class<? extends Annotation>, WBMethod<?>> declaredMethodsByAnnotatedParameters;
+
+ // The set of abstracted constructors
+ private final Set<WBConstructor<T>> constructors;
+ private final Map<ConstructorSignature, WBConstructor<?>> declaredConstructorsBySignature;
+ // The map from annotation type to abstracted constructor with annotation
+ private final SetMultiMap<Class<? extends Annotation>, WBConstructor<T>> annotatedConstructors;
+ // The map from class list to abstracted constructor
+ private final Map<List<Class<?>>, WBConstructor<T>> constructorsByArgumentMap;
+
+ private final SetMultiMap<Class<? extends Annotation>, WBConstructor<?>> constructorsByAnnotatedParameters;
+
+ // Cached string representation
+ private String toString;
+
+ private final boolean _nonStaticMemberClass;
+ private final boolean _abstract;
+ private final boolean _enum;
+
+
+ public static <T> WBClass<T> of(Class<T> clazz, ClassTransformer classTransformer)
+ {
+ return new WBClassImpl<T>(clazz, clazz, clazz.getAnnotations(), clazz.getDeclaredAnnotations(), classTransformer);
+ }
+
+ private WBClassImpl(Class<T> rawType, Type type, Annotation[] annotations, Annotation[] declaredAnnotations, ClassTransformer classTransformer)
+ {
+ super(AnnotationStore.of(annotations, declaredAnnotations), rawType, type, classTransformer);
+
+ this.fields = new HashSet<WBField<?>>();
+ this.annotatedFields = new SetHashMultiMap<Class<? extends Annotation>, WBField<?>>();
+ this.metaAnnotatedFields = new SetHashMultiMap<Class<? extends Annotation>, WBField<?>>();
+ this.declaredFields = new HashSet<WBField<?>>();
+ this.declaredFieldsByName = new HashMap<String, WBField<?>>();
+ this.declaredAnnotatedFields = new SetHashMultiMap<Class<? extends Annotation>, WBField<?>>();
+ this.declaredMetaAnnotatedFields = new SetHashMultiMap<Class<? extends Annotation>, WBField<?>>();
+ this._nonStaticMemberClass = Reflections.isNonStaticInnerClass(rawType);
+ this._abstract = Reflections.isAbstract(rawType);
+ this._enum = rawType.isEnum();
+ for (Class<?> c = rawType; c != Object.class && c != null; c = c.getSuperclass())
+ {
+ for (Field field : c.getDeclaredFields())
+ {
+ if (!field.isAccessible())
+ {
+ field.setAccessible(true);
+ }
+ WBField<?> annotatedField = new WBFieldImpl<Object>(field, this);
+ this.fields.add(annotatedField);
+ if (c == rawType)
+ {
+ this.declaredFields.add(annotatedField);
+ this.declaredFieldsByName.put(annotatedField.getName(), annotatedField);
+ }
+ for (Annotation annotation : annotatedField.getAnnotations())
+ {
+ this.annotatedFields.put(annotation.annotationType(), annotatedField);
+ if (c == rawType)
+ {
+ this.declaredAnnotatedFields.put(annotation.annotationType(), annotatedField);
+ }
+ for (Annotation metaAnnotation : annotation.annotationType().getAnnotations())
+ {
+ this.metaAnnotatedFields.put(metaAnnotation.annotationType(), annotatedField);
+ if (c == rawType)
+ {
+ this.declaredMetaAnnotatedFields.put(metaAnnotation.annotationType(), annotatedField);
+ }
+ }
+ }
+
+ }
+ }
+
+ this.constructors = new HashSet<WBConstructor<T>>();
+ this.constructorsByArgumentMap = new HashMap<List<Class<?>>, WBConstructor<T>>();
+ this.annotatedConstructors = new SetHashMultiMap<Class<? extends Annotation>, WBConstructor<T>>();
+ this.constructorsByAnnotatedParameters = new SetHashMultiMap<Class<? extends Annotation>, WBConstructor<?>>();
+ this.declaredConstructorsBySignature = new HashMap<ConstructorSignature, WBConstructor<?>>();
+ for (Constructor<?> constructor : rawType.getDeclaredConstructors())
+ {
+ @SuppressWarnings("unchecked")
+ Constructor<T> c = (Constructor<T>) constructor;
+ WBConstructor<T> annotatedConstructor = WBConstructorImpl.of(c, this);
+ if (!constructor.isAccessible())
+ {
+ constructor.setAccessible(true);
+ }
+ this.constructors.add(annotatedConstructor);
+ this.constructorsByArgumentMap.put(Arrays.asList(constructor.getParameterTypes()), annotatedConstructor);
+
+ this.declaredConstructorsBySignature.put(annotatedConstructor.getSignature(), annotatedConstructor);
+
+ for (Annotation annotation : annotatedConstructor.getAnnotations())
+ {
+ if (!annotatedConstructors.containsKey(annotation.annotationType()))
+ {
+ annotatedConstructors.put(annotation.annotationType(), new HashSet<WBConstructor<T>>());
+ }
+ annotatedConstructors.get(annotation.annotationType()).add(annotatedConstructor);
+ }
+
+ for (Class<? extends Annotation> annotationType : WBConstructor.MAPPED_PARAMETER_ANNOTATIONS)
+ {
+ if (annotatedConstructor.getAnnotatedParameters(annotationType).size() > 0)
+ {
+ constructorsByAnnotatedParameters.put(annotationType, annotatedConstructor);
+ }
+ }
+ }
+
+ this.methods = new HashSet<WBMethod<?>>();
+ this.annotatedMethods = new SetHashMultiMap<Class<? extends Annotation>, WBMethod<?>>();
+ this.methodsByAnnotatedParameters = new SetHashMultiMap<Class<? extends Annotation>, WBMethod<?>>();
+ this.declaredMethods = new HashSet<WBMethod<?>>();
+ this.declaredAnnotatedMethods = new SetHashMultiMap<Class<? extends Annotation>, WBMethod<?>>();
+ this.declaredMethodsByAnnotatedParameters = new SetHashMultiMap<Class<? extends Annotation>, WBMethod<?>>();
+ this.declaredMethodsBySignature = new HashMap<MethodSignature, WBMethod<?>>();
+ for (Class<?> c = rawType; c != Object.class && c != null; c = c.getSuperclass())
+ {
+ for (Method method : c.getDeclaredMethods())
+ {
+ if (!method.isAccessible())
+ {
+ method.setAccessible(true);
+ }
+
+ WBMethod<?> annotatedMethod = WBMethodImpl.of(method, this);
+ this.methods.add(annotatedMethod);
+ if (c == rawType)
+ {
+ this.declaredMethods.add(annotatedMethod);
+ this.declaredMethodsBySignature.put(annotatedMethod.getSignature(), annotatedMethod);
+ }
+ for (Annotation annotation : annotatedMethod.getAnnotations())
+ {
+ annotatedMethods.put(annotation.annotationType(), annotatedMethod);
+ if (c == rawType)
+ {
+ this.declaredAnnotatedMethods.put(annotation.annotationType(), annotatedMethod);
+ }
+ }
+ for (Class<? extends Annotation> annotationType : WBMethod.MAPPED_PARAMETER_ANNOTATIONS)
+ {
+ if (annotatedMethod.getAnnotatedParameters(annotationType).size() > 0)
+ {
+ methodsByAnnotatedParameters.put(annotationType, annotatedMethod);
+ if (c == rawType)
+ {
+ this.declaredMethodsByAnnotatedParameters.put(annotationType, annotatedMethod);
+ }
+ }
+ }
+ }
+ }
+ }
+
+ /**
+ * Gets the implementing class
+ *
+ * @return The class
+ */
+ public Class<? extends T> getAnnotatedClass()
+ {
+ return getRawType();
+ }
+
+ /**
+ * Gets the delegate (class)
+ *
+ * @return The class
+ */
+ public Class<T> getDelegate()
+ {
+ return getRawType();
+ }
+
+ /**
+ * Gets the abstracted fields of the class
+ *
+ * Initializes the fields if they are null
+ *
+ * @return The set of abstracted fields
+ */
+ public Set<WBField<?>> getFields()
+ {
+ return Collections.unmodifiableSet(fields);
+ }
+
+ public Set<WBField<?>> getDeclaredFields()
+ {
+ return Collections.unmodifiableSet(declaredFields);
+ }
+
+ public <F> WBField<F> getDeclaredField(String fieldName, WBClass<F> expectedType)
+ {
+ return (WBField<F>) declaredFieldsByName.get(fieldName);
+ }
+
+ public Set<WBField<?>> getDeclaredAnnotatedFields(Class<? extends Annotation> annotationType)
+ {
+ return Collections.unmodifiableSet(declaredAnnotatedFields.get(annotationType));
+ }
+
+ /**
+ * Gets the abstracted constructors of the class
+ *
+ * Initializes the constructors if they are null
+ *
+ * @return The set of abstracted constructors
+ */
+ public Set<WBConstructor<T>> getConstructors()
+ {
+ return Collections.unmodifiableSet(constructors);
+ }
+
+ public WBConstructor<T> getDeclaredConstructor(ConstructorSignature signature)
+ {
+ return (WBConstructor<T>) declaredConstructorsBySignature.get(signature);
+ }
+
+ /**
+ * Gets abstracted fields with requested meta-annotation type present
+ *
+ * If the meta-annotations map is null, it is initializes. If the annotated
+ * fields are null, it is initialized The meta-annotated field map is then
+ * populated for the requested meta-annotation type and the result is
+ * returned
+ *
+ * @param metaAnnotationType
+ * The meta-annotation type to match
+ * @return The set of abstracted fields with meta-annotation present. Returns
+ * an empty set if no matches are found.
+ */
+ public Set<WBField<?>> getMetaAnnotatedFields(Class<? extends Annotation> metaAnnotationType)
+ {
+ return Collections.unmodifiableSet(metaAnnotatedFields.get(metaAnnotationType));
+ }
+
+ /**
+ * Gets the abstracted field annotated with a specific annotation type
+ *
+ * If the fields map is null, initialize it first
+ *
+ * @param annotationType
+ * The annotation type to match
+ * @return A set of matching abstracted fields, null if none are found.
+ *
+ */
+ public Set<WBField<?>> getAnnotatedFields(Class<? extends Annotation> annotationType)
+ {
+ return Collections.unmodifiableSet(annotatedFields.get(annotationType));
+ }
+
+ public boolean isNonStaticMemberClass()
+ {
+ return _nonStaticMemberClass;
+ }
+
+ public boolean isAbstract()
+ {
+ return _abstract;
+ }
+
+ public boolean isEnum()
+ {
+ return _enum;
+ }
+
+ /**
+ * Gets the abstracted methods that have a certain annotation type present
+ *
+ * If the annotated methods map is null, initialize it first
+ *
+ * @param annotationType
+ * The annotation type to match
+ * @return A set of matching method abstractions. Returns an empty set if no
+ * matches are found.
+ *
+ * @see org.jboss.webbeans.introspector.WBClass#getAnnotatedMethods(Class)
+ */
+ public Set<WBMethod<?>> getAnnotatedMethods(Class<? extends Annotation> annotationType)
+ {
+ return Collections.unmodifiableSet(annotatedMethods.get(annotationType));
+ }
+
+ public Set<WBMethod<?>> getDeclaredAnnotatedMethods(Class<? extends Annotation> annotationType)
+ {
+ return Collections.unmodifiableSet(declaredAnnotatedMethods.get(annotationType));
+ }
+
+ /**
+ * Gets constructors with given annotation type
+ *
+ * @param annotationType
+ * The annotation type to match
+ * @return A set of abstracted constructors with given annotation type. If
+ * the constructors set is empty, initialize it first. Returns an
+ * empty set if there are no matches.
+ *
+ * @see org.jboss.webbeans.introspector.WBClass#getAnnotatedConstructors(Class)
+ */
+ public Set<WBConstructor<T>> getAnnotatedConstructors(Class<? extends Annotation> annotationType)
+ {
+ return Collections.unmodifiableSet(annotatedConstructors.get(annotationType));
+ }
+
+ public WBConstructor<T> getNoArgsConstructor()
+ {
+ return constructorsByArgumentMap.get(NO_ARGUMENTS);
+ }
+
+ public Set<WBMethod<?>> getMethodsWithAnnotatedParameters(Class<? extends Annotation> annotationType)
+ {
+ return Collections.unmodifiableSet(methodsByAnnotatedParameters.get(annotationType));
+ }
+
+ public Set<WBConstructor<?>> getConstructorsWithAnnotatedParameters(Class<? extends Annotation> annotationType)
+ {
+ return Collections.unmodifiableSet(constructorsByAnnotatedParameters.get(annotationType));
+ }
+
+ public Set<WBMethod<?>> getDeclaredMethodsWithAnnotatedParameters(Class<? extends Annotation> annotationType)
+ {
+ return Collections.unmodifiableSet(declaredMethodsByAnnotatedParameters.get(annotationType));
+ }
+
+ public WBMethod<?> getMethod(Method methodDescriptor)
+ {
+ // TODO Should be cached
+ for (WBMethod<?> annotatedMethod : methods)
+ {
+ if (annotatedMethod.getName().equals(methodDescriptor.getName()) && Arrays.equals(annotatedMethod.getParameterTypesAsArray(), methodDescriptor.getParameterTypes()))
+ {
+ return annotatedMethod;
+ }
+ }
+ return null;
+ }
+
+ public WBMethod<?> getDeclaredMethod(Method method)
+ {
+ // TODO Should be cached
+ for (WBMethod<?> annotatedMethod : declaredMethods)
+ {
+ if (annotatedMethod.getName().equals(method.getName()) && Arrays.equals(annotatedMethod.getParameterTypesAsArray(), method.getParameterTypes()))
+ {
+ return annotatedMethod;
+ }
+ }
+ return null;
+ }
+
+ @SuppressWarnings("unchecked")
+ public <M> WBMethod<M> getDeclaredMethod(MethodSignature signature, WBClass<M> expectedReturnType)
+ {
+ return (WBMethod<M>) declaredMethodsBySignature.get(signature);
+ }
+
+ /**
+ * Gets a string representation of the class
+ *
+ * @return A string representation
+ */
+ @Override
+ public String toString()
+ {
+ if (toString != null)
+ {
+ return toString;
+ }
+ toString = "Annotated class " + Names.classToString(getDelegate());
+ return toString;
+ }
+
+ @SuppressWarnings("unchecked")
+ public <U> WBClass<? extends U> asSubclass(WBClass<U> clazz)
+ {
+ return (WBClass<? extends U>) this;
+ }
+
+ @SuppressWarnings("unchecked")
+ public T cast(Object object)
+ {
+ return (T) object;
+ }
+
+}
\ No newline at end of file
Property changes on: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/WBClassImpl.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Copied: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/WBConstructorImpl.java (from rev 2827, ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedConstructorImpl.java)
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/WBConstructorImpl.java (rev 0)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/WBConstructorImpl.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -0,0 +1,255 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.webbeans.introspector.jlr;
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Constructor;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Type;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import org.jboss.webbeans.BeanManagerImpl;
+import org.jboss.webbeans.introspector.WBConstructor;
+import org.jboss.webbeans.introspector.WBParameter;
+import org.jboss.webbeans.introspector.WBType;
+import org.jboss.webbeans.introspector.AnnotationStore;
+import org.jboss.webbeans.introspector.ConstructorSignature;
+import org.jboss.webbeans.util.Names;
+import org.jboss.webbeans.util.collections.multi.ListHashMultiMap;
+import org.jboss.webbeans.util.collections.multi.ListMultiMap;
+
+/**
+ * Represents an annotated constructor
+ *
+ * This class is immutable, and therefore threadsafe
+ *
+ * @author Pete Muir
+ *
+ * @param <T>
+ */
+public class WBConstructorImpl<T> extends AbstractWBMember<T, Constructor<T>> implements WBConstructor<T>
+{
+
+ // The underlying constructor
+ private final Constructor<T> constructor;
+
+ // The list of parameter abstractions
+ private final List<WBParameter<?>> parameters;
+ // The mapping of annotation -> parameter abstraction
+ private final ListMultiMap<Class<? extends Annotation>, WBParameter<?>> annotatedParameters;
+
+ // The declaring class abstraction
+ private final WBType<T> declaringClass;
+
+ private final ConstructorSignature signature;
+
+ // Cached string representation
+ private String toString;
+
+ public static <T> WBConstructor<T> of(Constructor<T> constructor, WBType<T> declaringClass)
+ {
+ return new WBConstructorImpl<T>(constructor, declaringClass);
+ }
+
+ /**
+ * Constructor
+ *
+ * Initializes the superclass with the build annotations map
+ *
+ * @param constructor The constructor method
+ * @param declaringClass The declaring class
+ */
+ protected WBConstructorImpl(Constructor<T> constructor, WBType<T> declaringClass)
+ {
+ super(AnnotationStore.of(constructor), constructor, constructor.getDeclaringClass(), constructor.getDeclaringClass());
+ this.constructor = constructor;
+ this.declaringClass = declaringClass;
+
+ this.parameters = new ArrayList<WBParameter<?>>();
+ annotatedParameters = new ListHashMultiMap<Class<? extends Annotation>, WBParameter<?>>();
+
+ for (int i = 0; i < constructor.getParameterTypes().length; i++)
+ {
+ if (constructor.getParameterAnnotations()[i].length > 0)
+ {
+ Class<?> clazz = constructor.getParameterTypes()[i];
+ Type type = constructor.getGenericParameterTypes()[i];
+ WBParameter<?> parameter = WBParameterImpl.of(constructor.getParameterAnnotations()[i], clazz, type, this);
+ parameters.add(parameter);
+
+ for (Annotation annotation : parameter.getAnnotations())
+ {
+ annotatedParameters.put(annotation.annotationType(), parameter);
+ }
+ }
+ else
+ {
+ Class<?> clazz = constructor.getParameterTypes()[i];
+ Type type;
+ if (constructor.getGenericParameterTypes().length > i)
+ {
+ type = constructor.getGenericParameterTypes()[i];
+ }
+ else
+ {
+ type = clazz;
+ }
+ WBParameter<?> parameter = WBParameterImpl.of(new Annotation[0], clazz, type, this);
+ parameters.add(parameter);
+
+ for (Annotation annotation : parameter.getAnnotations())
+ {
+ annotatedParameters.put(annotation.annotationType(), parameter);
+ }
+ }
+ }
+ this.signature = new ConstructorSignatureImpl(this);
+ }
+
+ /**
+ * Gets the constructor
+ *
+ * @return The constructor
+ */
+ public Constructor<T> getAnnotatedConstructor()
+ {
+ return constructor;
+ }
+
+ /**
+ * Gets the delegate (constructor)
+ *
+ * @return The delegate
+ */
+ @Override
+public Constructor<T> getDelegate()
+ {
+ return constructor;
+ }
+
+ /**
+ * Gets the abstracted parameters
+ *
+ * If the parameters are null, initalize them first
+ *
+ * @return A list of annotated parameter abstractions
+ *
+ * @see org.jboss.webbeans.introspector.WBConstructor#getParameters()
+ */
+ public List<WBParameter<?>> getParameters()
+ {
+ return Collections.unmodifiableList(parameters);
+ }
+
+ /**
+ * Gets parameter abstractions with a given annotation type.
+ *
+ * If the parameters are null, they are initializes first.
+ *
+ * @param annotationType The annotation type to match
+ * @return A list of matching parameter abstractions. An empty list is
+ * returned if there are no matches.
+ *
+ * @see org.jboss.webbeans.introspector.WBConstructor#getAnnotatedParameters(Class)
+ */
+ public List<WBParameter<?>> getAnnotatedParameters(Class<? extends Annotation> annotationType)
+ {
+ return Collections.unmodifiableList(annotatedParameters.get(annotationType));
+ }
+
+ /**
+ * Creates a new instance
+ *
+ * @param manager The Web Beans manager
+ * @return An instance
+ * @throws InvocationTargetException
+ * @throws IllegalAccessException
+ * @throws InstantiationException
+ * @throws IllegalArgumentException
+ *
+ * @see org.jboss.webbeans.introspector.WBConstructor#newInstance(BeanManagerImpl)
+ */
+ public T newInstance(Object... parameters) throws IllegalArgumentException, InstantiationException, IllegalAccessException, InvocationTargetException
+ {
+ return getDelegate().newInstance(parameters);
+ }
+
+ /**
+ * The overridden equals operation
+ *
+ * @param other The instance to compare to
+ * @return True if equal, false otherwise
+ */
+ @Override
+ public boolean equals(Object other)
+ {
+
+ if (super.equals(other) && other instanceof WBConstructor)
+ {
+ WBConstructor<?> that = (WBConstructor<?>) other;
+ return this.getDeclaringClass().equals(that.getDeclaringClass()) && this.getParameters().equals(that.getParameters());
+ }
+ return false;
+ }
+
+ /**
+ * The overridden hashcode
+ *
+ * Gets the hash code from the delegate
+ *
+ * @return The hash code
+ */
+ @Override
+ public int hashCode()
+ {
+ return getDelegate().hashCode();
+ }
+
+ /**
+ * Gets the declaring class
+ *
+ * @return The declaring class
+ */
+ public WBType<T> getDeclaringClass()
+ {
+ return declaringClass;
+ }
+
+ /**
+ * Gets a string representation of the constructor
+ *
+ * @return A string representation
+ */
+ @Override
+ public String toString()
+ {
+ if (toString != null)
+ {
+ return toString;
+ }
+ toString = "Annotated constructor " + Names.constructorToString(constructor);
+ return toString;
+ }
+
+ public ConstructorSignature getSignature()
+ {
+ return signature;
+ }
+
+}
Property changes on: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/WBConstructorImpl.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Copied: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/WBFieldImpl.java (from rev 2821, ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedFieldImpl.java)
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/WBFieldImpl.java (rev 0)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/WBFieldImpl.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -0,0 +1,156 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.webbeans.introspector.jlr;
+
+import java.lang.reflect.Field;
+
+import org.jboss.webbeans.introspector.WBField;
+import org.jboss.webbeans.introspector.WBType;
+import org.jboss.webbeans.introspector.AnnotationStore;
+import org.jboss.webbeans.util.Names;
+import org.jboss.webbeans.util.Reflections;
+
+/**
+ * Represents an annotated field
+ *
+ * This class is immutable, and therefore threadsafe
+ *
+ * @author Pete Muir
+ *
+ * @param <T>
+ */
+public class WBFieldImpl<T> extends AbstractWBMember<T, Field> implements WBField<T>
+{
+
+ // The underlying field
+ private final Field field;
+ // The abstraction of the declaring class
+ private final WBType<?> declaringClass;
+
+ // Cached string representation
+ private String toString;
+
+ /**
+ * Constructor
+ *
+ * Initializes the superclass with the built annotation map and detects the
+ * type arguments
+ *
+ * @param field The actual field
+ * @param declaringClass The abstraction of the declaring class
+ */
+ protected WBFieldImpl(Field field, WBType<?> declaringClass)
+ {
+ super(AnnotationStore.of(field), field, (Class<T>) field.getType(), field.getGenericType());
+ this.field = field;
+ field.setAccessible(true);
+ this.declaringClass = declaringClass;
+ }
+
+ /**
+ * Gets the underlying field
+ *
+ * @return The fields
+ */
+ public Field getAnnotatedField()
+ {
+ return field;
+ }
+
+ public Field getDelegate()
+ {
+ return field;
+ }
+
+ public void set(Object instance, Object value) throws IllegalArgumentException, IllegalAccessException
+ {
+ field.set(instance, value);
+ }
+
+ public void setOnInstance(Object instance, Object value) throws IllegalArgumentException, SecurityException, IllegalAccessException, NoSuchFieldException
+ {
+ instance.getClass().getField(getName()).set(instance, value);
+ }
+
+ @SuppressWarnings("unchecked")
+ public T get(Object instance)
+ {
+ return (T) Reflections.getAndWrap(getDelegate(), instance);
+ }
+
+ /**
+ * Gets the property name
+ *
+ * @return The property name
+ *
+ * @see org.jboss.webbeans.introspector.WBField#getName()
+ */
+ public String getPropertyName()
+ {
+ return getName();
+ }
+
+ /**
+ * Gets the abstracted declaring class
+ *
+ * @return The declaring class
+ *
+ * @see org.jboss.webbeans.introspector.WBField#getDeclaringClass()
+ */
+ public WBType<?> getDeclaringClass()
+ {
+ return declaringClass;
+ }
+
+ /**
+ * Gets a string representation of the field
+ *
+ * @return A string representation
+ */
+ @Override
+ public String toString()
+ {
+ if (toString != null)
+ {
+ return toString;
+ }
+ toString = Names.fieldToString(field) + " on " + getDeclaringClass();
+ return toString;
+ }
+
+ @Override
+ public boolean equals(Object other)
+ {
+ if (other instanceof WBField)
+ {
+ WBField<?> that = (WBField<?>) other;
+ return this.getDeclaringClass().equals(that.getDeclaringClass()) && this.getName().equals(that.getName());
+ }
+ else
+ {
+ return false;
+ }
+ }
+
+
+ @Override
+ public int hashCode()
+ {
+ return getDelegate().hashCode();
+ }
+
+}
Property changes on: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/WBFieldImpl.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Copied: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/WBMethodImpl.java (from rev 2827, ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedMethodImpl.java)
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/WBMethodImpl.java (rev 0)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/WBMethodImpl.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -0,0 +1,222 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.webbeans.introspector.jlr;
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.lang.reflect.Type;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.jboss.webbeans.introspector.WBMethod;
+import org.jboss.webbeans.introspector.WBParameter;
+import org.jboss.webbeans.introspector.WBType;
+import org.jboss.webbeans.introspector.AnnotationStore;
+import org.jboss.webbeans.introspector.MethodSignature;
+import org.jboss.webbeans.util.Names;
+import org.jboss.webbeans.util.Reflections;
+import org.jboss.webbeans.util.collections.multi.ListHashMultiMap;
+import org.jboss.webbeans.util.collections.multi.ListMultiMap;
+
+/**
+ * Represents an annotated method
+ *
+ * This class is immutable and therefore threadsafe
+ *
+ * @author Pete Muir
+ *
+ * @param <T>
+ */
+public class WBMethodImpl<T> extends AbstractWBMember<T, Method> implements WBMethod<T>
+{
+
+ // The underlying method
+ private final Method method;
+
+ // The abstracted parameters
+ private final List<WBParameter<?>> parameters;
+ // A mapping from annotation type to parameter abstraction with that
+ // annotation present
+ private final ListMultiMap<Class<? extends Annotation>, WBParameter<?>> annotatedParameters;
+
+ // The property name
+ private final String propertyName;
+
+ // The abstracted declaring class
+ private final WBType<?> declaringClass;
+
+ // Cached string representation
+ private String toString;
+
+ private final MethodSignature signature;
+
+ public static <T> WBMethodImpl<T> of(Method method, WBType<?> declaringClass)
+ {
+ return new WBMethodImpl<T>(method, declaringClass);
+ }
+
+ /**
+ * Constructor
+ *
+ * Initializes the superclass with the built annotation map, sets the method
+ * and declaring class abstraction and detects the actual type arguments
+ *
+ * @param method The underlying method
+ * @param declaringClass The declaring class abstraction
+ */
+ @SuppressWarnings("unchecked")
+ protected WBMethodImpl(Method method, WBType<?> declaringClass)
+ {
+ super(AnnotationStore.of(method), method, (Class<T>) method.getReturnType(), method.getGenericReturnType());
+ this.method = method;
+ this.method.setAccessible(true);
+ this.declaringClass = declaringClass;
+ this.parameters = new ArrayList<WBParameter<?>>();
+ this.annotatedParameters = new ListHashMultiMap<Class<? extends Annotation>, WBParameter<?>>();
+
+ for (int i = 0; i < method.getParameterTypes().length; i++)
+ {
+ if (method.getParameterAnnotations()[i].length > 0)
+ {
+ Class<? extends Object> clazz = method.getParameterTypes()[i];
+ Type type = method.getGenericParameterTypes()[i];
+ WBParameter<?> parameter = WBParameterImpl.of(method.getParameterAnnotations()[i], (Class<Object>) clazz, type, this);
+ this.parameters.add(parameter);
+ for (Annotation annotation : parameter.getAnnotations())
+ {
+ if (MAPPED_PARAMETER_ANNOTATIONS.contains(annotation.annotationType()))
+ {
+ annotatedParameters.put(annotation.annotationType(), parameter);
+ }
+ }
+ }
+ else
+ {
+ Class<? extends Object> clazz = method.getParameterTypes()[i];
+ Type type = method.getGenericParameterTypes()[i];
+ WBParameter<?> parameter = WBParameterImpl.of(new Annotation[0], (Class<Object>) clazz, type, this);
+ this.parameters.add(parameter);
+ }
+ }
+
+ String propertyName = Reflections.getPropertyName(getDelegate());
+ if (propertyName == null)
+ {
+ this.propertyName = getName();
+ }
+ else
+ {
+ this.propertyName = propertyName;
+ }
+ this.signature = new MethodSignatureImpl(this);
+ }
+
+ public Method getAnnotatedMethod()
+ {
+ return method;
+ }
+
+ public Method getDelegate()
+ {
+ return method;
+ }
+
+ public List<WBParameter<?>> getParameters()
+ {
+ return Collections.unmodifiableList(parameters);
+ }
+
+ public Class<?>[] getParameterTypesAsArray()
+ {
+ return method.getParameterTypes();
+ }
+
+ public List<WBParameter<?>> getAnnotatedParameters(Class<? extends Annotation> annotationType)
+ {
+ return Collections.unmodifiableList(annotatedParameters.get(annotationType));
+ }
+
+ @Override
+ public boolean equals(Object other)
+ {
+ if (other instanceof WBMethod)
+ {
+ WBMethod<?> that = (WBMethod<?>) other;
+ return this.getDeclaringClass().equals(that.getDeclaringClass()) && this.getName().equals(that.getName()) && this.getParameters().equals(that.getParameters());
+ }
+ else
+ {
+ return false;
+ }
+ }
+
+ public boolean isEquivalent(Method method)
+ {
+ return this.getDeclaringClass().isEquivalent(method.getDeclaringClass()) && this.getName().equals(method.getName()) && Arrays.equals(this.getParameterTypesAsArray(), method.getParameterTypes());
+ }
+
+ @Override
+ public int hashCode()
+ {
+ return getDelegate().hashCode();
+ }
+
+ public T invokeOnInstance(Object instance, Object...parameters) throws IllegalArgumentException, SecurityException, IllegalAccessException, InvocationTargetException, NoSuchMethodException
+ {
+ Method method = Reflections.lookupMethod(getName(), getParameterTypesAsArray(), instance);
+ @SuppressWarnings("unchecked")
+ T result = (T) method.invoke(instance, parameters);
+ return result;
+ }
+
+ public T invoke(Object instance, Object... parameters) throws IllegalArgumentException, IllegalAccessException, InvocationTargetException
+ {
+ @SuppressWarnings("unchecked")
+ T result = (T) method.invoke(instance, parameters);
+ return result;
+ }
+
+ public String getPropertyName()
+ {
+ return propertyName;
+ }
+
+ public WBType<?> getDeclaringClass()
+ {
+ return declaringClass;
+ }
+
+ @Override
+ public String toString()
+ {
+ if (toString != null)
+ {
+ return toString;
+ }
+ toString = "Annotated method on class " + getDeclaringClass().getName() + Names.methodToString(method);
+ return toString;
+ }
+
+ public MethodSignature getSignature()
+ {
+ return signature;
+ }
+
+}
Property changes on: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/WBMethodImpl.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Copied: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/WBParameterImpl.java (from rev 2821, ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedParameterImpl.java)
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/WBParameterImpl.java (rev 0)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/WBParameterImpl.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -0,0 +1,166 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.webbeans.introspector.jlr;
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Type;
+import java.util.Set;
+
+import org.jboss.webbeans.introspector.WBMember;
+import org.jboss.webbeans.introspector.WBParameter;
+import org.jboss.webbeans.introspector.AnnotationStore;
+
+/**
+ * Represents a parameter
+ *
+ * This class is immutable and therefore threadsafe
+ *
+ * @author Pete Muir
+ *
+ * @param <T>
+ */
+public class WBParameterImpl<T> extends AbstractWBAnnotated<T, Object> implements WBParameter<T>
+{
+
+ // The final state
+ private final boolean _final = false;
+ // The static state
+ private final boolean _static = false;
+ private final boolean _public = false;
+ private final WBMember<?, ?> declaringMember;
+
+ // Cached string representation
+ private String toString;
+
+ public static <T> WBParameter<T> of(Annotation[] annotations, Class<T> rawType, Type type, WBMember<?, ?> declaringMember)
+ {
+ return new WBParameterImpl<T>(annotations, rawType, type, declaringMember);
+ }
+
+ /**
+ * Constructor
+ *
+ * @param annotations The annotations array
+ * @param type The type of the parameter
+ */
+ protected WBParameterImpl(Annotation[] annotations, Class<T> rawType, Type type, WBMember<?, ?> declaringMember)
+ {
+ super(AnnotationStore.of(annotations, annotations), rawType, type);
+ this.declaringMember = declaringMember;
+ }
+
+ /**
+ * Gets the delegate
+ *
+ * @return The delegate (null)
+ *
+ * @see org.jboss.webbeans.introspector.WBAnnotated#getDelegate()
+ */
+ public Object getDelegate()
+ {
+ return null;
+ }
+
+ /**
+ * Indicates if the parameter is final
+ *
+ * @return True if final, false otherwise
+ *
+ * @see org.jboss.webbeans.introspector.WBAnnotated#isFinal()
+ */
+ public boolean isFinal()
+ {
+ return _final;
+ }
+
+ /**
+ * Indicates if the parameter is static
+ *
+ * @return True if static, false otherwise
+ *
+ * @see org.jboss.webbeans.introspector.WBAnnotated#isStatic()
+ */
+ public boolean isStatic()
+ {
+ return _static;
+ }
+
+ public boolean isPublic()
+ {
+ return _public;
+ }
+
+ /**
+ * Gets the current value
+ *
+ * @param beanManager The Web Beans manager
+ * @return the value
+ *
+ * @see org.jboss.webbeans.introspector.AnnotatedParameter
+ *
+ public T getValue(BeanManager beanManager)
+ {
+ return beanManager.getInstanceByType(getRawType(), getMetaAnnotationsAsArray(BindingType.class));
+ }*/
+
+ /**
+ * Gets the name of the parameter
+ *
+ * @throws IllegalArgumentException (not supported)
+ *
+ * @see org.jboss.webbeans.introspector.WBAnnotated#getName()
+ */
+ public String getName()
+ {
+ throw new IllegalArgumentException("Unable to determine name of parameter");
+ }
+
+ /**
+ * Gets a string representation of the parameter
+ *
+ * @return A string representation
+ */
+ @Override
+ public String toString()
+ {
+ if (toString == null)
+ {
+ StringBuilder buffer = new StringBuilder();
+ buffer.append("Annotated parameter ");
+ if (_static)
+ buffer.append("static ");
+ if (_final)
+ buffer.append("final ");
+ buffer.append(getRawType().getName());
+ buffer.append(" for operation ");
+ buffer.append(getDeclaringMember().toString());
+ toString = buffer.toString();
+ }
+ return toString;
+ }
+
+ public WBMember<?, ?> getDeclaringMember()
+ {
+ return declaringMember;
+ }
+
+ public WBParameter<T> wrap(Set<Annotation> annotations)
+ {
+ throw new UnsupportedOperationException();
+ }
+
+}
Property changes on: ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/jlr/WBParameterImpl.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/metadata/AnnotationModel.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/metadata/AnnotationModel.java 2009-06-12 22:30:21 UTC (rev 2827)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/metadata/AnnotationModel.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -20,7 +20,7 @@
import javax.inject.DefinitionException;
-import org.jboss.webbeans.introspector.AnnotatedAnnotation;
+import org.jboss.webbeans.introspector.WBAnnotation;
import org.jboss.webbeans.resources.ClassTransformer;
/**
@@ -31,7 +31,7 @@
public abstract class AnnotationModel<T extends Annotation>
{
// The underlying annotation
- private AnnotatedAnnotation<T> annotatedAnnotation;
+ private WBAnnotation<T> annotatedAnnotation;
// Is the data valid?
private boolean valid;
@@ -106,7 +106,7 @@
*
* @return The annotation
*/
- protected AnnotatedAnnotation<T> getAnnotatedAnnotation()
+ protected WBAnnotation<T> getAnnotatedAnnotation()
{
return annotatedAnnotation;
}
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/metadata/BindingTypeModel.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/metadata/BindingTypeModel.java 2009-06-12 22:30:21 UTC (rev 2827)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/metadata/BindingTypeModel.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -25,7 +25,7 @@
import javax.inject.DefinitionException;
import javax.inject.ExecutionException;
-import org.jboss.webbeans.introspector.AnnotatedMethod;
+import org.jboss.webbeans.introspector.WBMethod;
import org.jboss.webbeans.resources.ClassTransformer;
import org.jboss.webbeans.util.Reflections;
@@ -39,7 +39,7 @@
public class BindingTypeModel<T extends Annotation> extends AnnotationModel<T>
{
// The non-binding types
- private Set<AnnotatedMethod<?>> nonBindingTypes;
+ private Set<WBMethod<?>> nonBindingTypes;
/**
* Constructor
@@ -67,7 +67,7 @@
*/
private void checkArrayAndAnnotationValuedMembers()
{
- for (AnnotatedMethod<?> annotatedMethod : getAnnotatedAnnotation().getMembers())
+ for (WBMethod<?> annotatedMethod : getAnnotatedAnnotation().getMembers())
{
if ((Reflections.isArrayType(annotatedMethod.getRawType()) || Annotation.class.isAssignableFrom(annotatedMethod.getRawType())) && !nonBindingTypes.contains(annotatedMethod))
{
@@ -104,7 +104,7 @@
* @return A set of non-binding types, or an empty set if there are none
* present
*/
- public Set<AnnotatedMethod<?>> getNonBindingTypes()
+ public Set<WBMethod<?>> getNonBindingTypes()
{
return nonBindingTypes;
}
@@ -128,7 +128,7 @@
{
if (instance.annotationType().equals(getRawType()) && other.annotationType().equals(getRawType()))
{
- for (AnnotatedMethod<?> annotatedMethod : getAnnotatedAnnotation().getMembers())
+ for (WBMethod<?> annotatedMethod : getAnnotatedAnnotation().getMembers())
{
if (!nonBindingTypes.contains(annotatedMethod))
{
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/resources/ClassTransformer.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/resources/ClassTransformer.java 2009-06-12 22:30:21 UTC (rev 2827)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/resources/ClassTransformer.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -20,17 +20,17 @@
import java.util.concurrent.Callable;
import org.jboss.webbeans.bootstrap.api.Service;
-import org.jboss.webbeans.introspector.AnnotatedAnnotation;
-import org.jboss.webbeans.introspector.AnnotatedClass;
-import org.jboss.webbeans.introspector.jlr.AnnotatedAnnotationImpl;
-import org.jboss.webbeans.introspector.jlr.AnnotatedClassImpl;
+import org.jboss.webbeans.introspector.WBAnnotation;
+import org.jboss.webbeans.introspector.WBClass;
+import org.jboss.webbeans.introspector.jlr.WBAnnotationImpl;
+import org.jboss.webbeans.introspector.jlr.WBClassImpl;
import org.jboss.webbeans.util.collections.ConcurrentCache;
public class ClassTransformer implements Service
{
- private final ConcurrentCache<Class<?>, AnnotatedClass<?>> classes;
- private final ConcurrentCache<Class<?>, AnnotatedAnnotation<?>> annotations;
+ private final ConcurrentCache<Class<?>, WBClass<?>> classes;
+ private final ConcurrentCache<Class<?>, WBAnnotation<?>> annotations;
private final ClassTransformer transformer = this;
/**
@@ -38,31 +38,31 @@
*/
public ClassTransformer()
{
- classes = new ConcurrentCache<Class<?>, AnnotatedClass<?>>();
- annotations = new ConcurrentCache<Class<?>, AnnotatedAnnotation<?>>();
+ classes = new ConcurrentCache<Class<?>, WBClass<?>>();
+ annotations = new ConcurrentCache<Class<?>, WBAnnotation<?>>();
}
- public <T> AnnotatedClass<T> classForName(final Class<T> clazz)
+ public <T> WBClass<T> classForName(final Class<T> clazz)
{
- return classes.putIfAbsent(clazz, new Callable<AnnotatedClass<T>>()
+ return classes.putIfAbsent(clazz, new Callable<WBClass<T>>()
{
- public AnnotatedClass<T> call() throws Exception
+ public WBClass<T> call() throws Exception
{
- return AnnotatedClassImpl.of(clazz, transformer);
+ return WBClassImpl.of(clazz, transformer);
}
});
}
- public <T extends Annotation> AnnotatedAnnotation<T> classForName(final Class<T> clazz)
+ public <T extends Annotation> WBAnnotation<T> classForName(final Class<T> clazz)
{
- return annotations.putIfAbsent(clazz, new Callable<AnnotatedAnnotation<T>>()
+ return annotations.putIfAbsent(clazz, new Callable<WBAnnotation<T>>()
{
- public AnnotatedAnnotation<T> call() throws Exception
+ public WBAnnotation<T> call() throws Exception
{
- return AnnotatedAnnotationImpl.of(clazz, transformer);
+ return WBAnnotationImpl.of(clazz, transformer);
}
});
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/util/Beans.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/util/Beans.java 2009-06-12 22:30:21 UTC (rev 2827)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/util/Beans.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -30,8 +30,8 @@
import org.jboss.webbeans.bean.EnterpriseBean;
import org.jboss.webbeans.bean.RIBean;
import org.jboss.webbeans.injection.FieldInjectionPoint;
-import org.jboss.webbeans.introspector.AnnotatedClass;
-import org.jboss.webbeans.introspector.AnnotatedField;
+import org.jboss.webbeans.introspector.WBClass;
+import org.jboss.webbeans.introspector.WBField;
import org.jboss.webbeans.metadata.BindingTypeModel;
import org.jboss.webbeans.metadata.MetaDataCache;
@@ -80,21 +80,21 @@
}
}
- public static Set<FieldInjectionPoint<?>> getFieldInjectionPoints(AnnotatedClass<?> annotatedItem, Bean<?> declaringBean)
+ public static Set<FieldInjectionPoint<?>> getFieldInjectionPoints(WBClass<?> annotatedItem, Bean<?> declaringBean)
{
Set<FieldInjectionPoint<?>> injectableFields = new HashSet<FieldInjectionPoint<?>>();
- for (AnnotatedField<?> annotatedField : annotatedItem.getMetaAnnotatedFields(BindingType.class))
+ for (WBField<?> annotatedField : annotatedItem.getMetaAnnotatedFields(BindingType.class))
{
addFieldInjectionPoint(annotatedField, injectableFields, declaringBean);
}
- for (AnnotatedField<?> annotatedField : annotatedItem.getAnnotatedFields(Decorates.class))
+ for (WBField<?> annotatedField : annotatedItem.getAnnotatedFields(Decorates.class))
{
addFieldInjectionPoint(annotatedField, injectableFields, declaringBean);
}
return injectableFields;
}
- private static void addFieldInjectionPoint(AnnotatedField<?> annotatedField, Set<FieldInjectionPoint<?>> injectableFields, Bean<?> declaringBean)
+ private static void addFieldInjectionPoint(WBField<?> annotatedField, Set<FieldInjectionPoint<?>> injectableFields, Bean<?> declaringBean)
{
if (!annotatedField.isAnnotationPresent(Produces.class))
{
Modified: ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/implementation/NewEnterpriseBeanTest.java
===================================================================
--- ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/implementation/NewEnterpriseBeanTest.java 2009-06-12 22:30:21 UTC (rev 2827)
+++ ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/implementation/NewEnterpriseBeanTest.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -9,7 +9,7 @@
import org.jboss.testharness.impl.packaging.PackagingType;
import org.jboss.webbeans.bean.EnterpriseBean;
import org.jboss.webbeans.bean.NewEnterpriseBean;
-import org.jboss.webbeans.introspector.AnnotatedItem;
+import org.jboss.webbeans.introspector.WBAnnotated;
import org.jboss.webbeans.literal.NewLiteral;
import org.jboss.webbeans.test.AbstractWebBeansTest;
import org.testng.annotations.Test;
@@ -54,8 +54,8 @@
public void testNewBeanHasSameInjectedFieldsAsWrappedBean()
{
initNewBean();
- Set<? extends AnnotatedItem<?, ?>> wrappedBeanInjectionPoints = wrappedEnterpriseBean.getAnnotatedInjectionPoints();
- Set<? extends AnnotatedItem<?, ?>> newBeanInjectionPoints = newEnterpriseBean.getAnnotatedInjectionPoints();
+ Set<? extends WBAnnotated<?, ?>> wrappedBeanInjectionPoints = wrappedEnterpriseBean.getAnnotatedInjectionPoints();
+ Set<? extends WBAnnotated<?, ?>> newBeanInjectionPoints = newEnterpriseBean.getAnnotatedInjectionPoints();
assert wrappedBeanInjectionPoints.equals(newBeanInjectionPoints);
}
Modified: ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/implementation/annotatedItem/ClassAnnotatedItemTest.java
===================================================================
--- ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/implementation/annotatedItem/ClassAnnotatedItemTest.java 2009-06-12 22:30:21 UTC (rev 2827)
+++ ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/implementation/annotatedItem/ClassAnnotatedItemTest.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -9,8 +9,8 @@
import javax.enterprise.inject.deployment.Production;
import org.jboss.testharness.impl.packaging.Artifact;
-import org.jboss.webbeans.introspector.AnnotatedClass;
-import org.jboss.webbeans.introspector.jlr.AnnotatedClassImpl;
+import org.jboss.webbeans.introspector.WBClass;
+import org.jboss.webbeans.introspector.jlr.WBClassImpl;
import org.jboss.webbeans.resources.ClassTransformer;
import org.jboss.webbeans.test.AbstractWebBeansTest;
import org.testng.annotations.Test;
@@ -24,7 +24,7 @@
@Test
public void testDeclaredAnnotations()
{
- AnnotatedClass<Order> annotatedElement = AnnotatedClassImpl.of(Order.class, transformer);
+ WBClass<Order> annotatedElement = WBClassImpl.of(Order.class, transformer);
assert annotatedElement.getAnnotations().size() == 1;
assert annotatedElement.getAnnotation(Production.class) != null;
assert annotatedElement.getRawType().equals(Order.class);
@@ -33,7 +33,7 @@
@Test
public void testMetaAnnotations()
{
- AnnotatedClass<Order> annotatedElement = AnnotatedClassImpl.of(Order.class, transformer);
+ WBClass<Order> annotatedElement = WBClassImpl.of(Order.class, transformer);
Set<Annotation> annotations = annotatedElement.getMetaAnnotations(DeploymentType.class);
assert annotations.size() == 1;
Iterator<Annotation> it = annotations.iterator();
@@ -44,10 +44,10 @@
@Test
public void testEmpty()
{
- AnnotatedClass<Order> annotatedElement = AnnotatedClassImpl.of(Order.class, transformer);
+ WBClass<Order> annotatedElement = WBClassImpl.of(Order.class, transformer);
assert annotatedElement.getAnnotation(Stereotype.class) == null;
assert annotatedElement.getMetaAnnotations(Stereotype.class).size() == 0;
- AnnotatedClass<Antelope> classWithNoAnnotations = AnnotatedClassImpl.of(Antelope.class, transformer);
+ WBClass<Antelope> classWithNoAnnotations = WBClassImpl.of(Antelope.class, transformer);
assert classWithNoAnnotations.getAnnotations().size() == 0;
}
Modified: ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/implementation/newsimple/NewSimpleBeanTest.java
===================================================================
--- ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/implementation/newsimple/NewSimpleBeanTest.java 2009-06-12 22:30:21 UTC (rev 2827)
+++ ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/implementation/newsimple/NewSimpleBeanTest.java 2009-06-12 22:38:33 UTC (rev 2828)
@@ -7,7 +7,7 @@
import org.jboss.testharness.impl.packaging.Artifact;
import org.jboss.webbeans.bean.NewSimpleBean;
import org.jboss.webbeans.bean.SimpleBean;
-import org.jboss.webbeans.introspector.AnnotatedItem;
+import org.jboss.webbeans.introspector.WBAnnotated;
import org.jboss.webbeans.literal.NewLiteral;
import org.jboss.webbeans.test.AbstractWebBeansTest;
import org.testng.annotations.Test;
@@ -63,8 +63,8 @@
public void testNewBeanHasSameInjectedFieldsAsWrappedBean()
{
initNewBean();
- Set<? extends AnnotatedItem<?, ?>> wrappedBeanInjectionPoints = wrappedSimpleBean.getAnnotatedInjectionPoints();
- Set<? extends AnnotatedItem<?, ?>> newBeanInjectionPoints = newSimpleBean.getAnnotatedInjectionPoints();
+ Set<? extends WBAnnotated<?, ?>> wrappedBeanInjectionPoints = wrappedSimpleBean.getAnnotatedInjectionPoints();
+ Set<? extends WBAnnotated<?, ?>> newBeanInjectionPoints = newSimpleBean.getAnnotatedInjectionPoints();
assert wrappedBeanInjectionPoints.equals(newBeanInjectionPoints);
}
More information about the weld-commits
mailing list