Author: pete.muir(a)jboss.org
Date: 2008-10-27 09:16:13 -0400 (Mon, 27 Oct 2008)
New Revision: 180
Added:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedAnnotation.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/SimpleAnnotatedAnnotation.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/AnnotationModel.java
Modified:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ManagerImpl.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ModelManager.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/ScopeModel.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/StereotypeModel.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/AbstractTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/StereotypesTest.java
Log:
AnnotationModel
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ManagerImpl.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ManagerImpl.java 2008-10-27
13:09:50 UTC (rev 179)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ManagerImpl.java 2008-10-27
13:16:13 UTC (rev 180)
@@ -207,7 +207,7 @@
Set<Bean<?>> beans = resolveByName(name);
if (beans.size() == 0)
{
- throw new UnsatisfiedDependencyException(new NameResolutionLocation(name) +
"Unable to resolve any Web Beans");
+ return null;
}
else if (beans.size() > 1)
{
@@ -215,7 +215,7 @@
}
else
{
- return beans.iterator().next();
+ return getInstance(beans.iterator().next());
}
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ModelManager.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ModelManager.java 2008-10-27
13:09:50 UTC (rev 179)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ModelManager.java 2008-10-27
13:16:13 UTC (rev 180)
@@ -4,6 +4,7 @@
import java.util.HashMap;
import java.util.Map;
+import org.jboss.webbeans.model.AnnotationModel;
import org.jboss.webbeans.model.ScopeModel;
import org.jboss.webbeans.model.StereotypeModel;
import org.jboss.webbeans.model.bean.BeanModel;
@@ -13,30 +14,42 @@
{
@SuppressWarnings("unchecked")
- private class ScopeModelMap extends MapWrapper<Class<? extends Annotation>,
ScopeModel<? extends Annotation>>
+ private abstract class AnnotationModelMap<T extends AnnotationModel<?>>
extends MapWrapper<Class<? extends Annotation>, T>
{
- public ScopeModelMap()
+ public AnnotationModelMap()
{
- super(new HashMap<Class<? extends Annotation>, ScopeModel<? extends
Annotation>>());
+ super(new HashMap<Class<? extends Annotation>, T>());
}
- public <T extends Annotation> ScopeModel<T> get(Class<T> key)
+ public <S extends Annotation> T get(Class<S> key)
{
- return (ScopeModel<T>) super.get(key);
+ return (T) super.get(key);
}
}
+ @SuppressWarnings("unchecked")
+ private class ScopeModelMap extends AnnotationModelMap<ScopeModel<?>>
+ {
+
+ @Override
+ public <S extends Annotation> ScopeModel<S> get(Class<S> key)
+ {
+ return (ScopeModel<S>) super.get(key);
+ }
+
+ }
+
private Map<Class<? extends Annotation>, StereotypeModel<?>>
stereotypes = new HashMap<Class<? extends Annotation>,
StereotypeModel<?>>();
private Map<Class<?>, BeanModel<?, ?>> beanModels = new
HashMap<Class<?>, BeanModel<?,?>>();
- private ScopeModelMap scopes = new ScopeModelMap();
+ private ScopeModelMap scopes = new ScopeModelMap();
public void addStereotype(StereotypeModel<?> stereotype)
{
- stereotypes.put(stereotype.getStereotypeClass(), stereotype);
+ stereotypes.put(stereotype.getType(), stereotype);
}
public StereotypeModel<?> getStereotype(Class<? extends Annotation>
annotationType)
Added:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedAnnotation.java
===================================================================
---
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedAnnotation.java
(rev 0)
+++
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedAnnotation.java 2008-10-27
13:16:13 UTC (rev 180)
@@ -0,0 +1,15 @@
+package org.jboss.webbeans.introspector;
+
+import java.lang.annotation.Annotation;
+import java.util.Set;
+
+public interface AnnotatedAnnotation<T extends Annotation> extends
AnnotatedItem<T, Class<T>>
+{
+
+ /**
+ * Get all annotation members
+ * @return
+ */
+ public Set<AnnotatedMethod<?>> getMembers();
+
+}
Property changes on:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedAnnotation.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/SimpleAnnotatedAnnotation.java
===================================================================
---
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/SimpleAnnotatedAnnotation.java
(rev 0)
+++
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/SimpleAnnotatedAnnotation.java 2008-10-27
13:16:13 UTC (rev 180)
@@ -0,0 +1,55 @@
+package org.jboss.webbeans.introspector;
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Method;
+import java.lang.reflect.Type;
+import java.util.HashSet;
+import java.util.Set;
+
+public class SimpleAnnotatedAnnotation<T extends Annotation> extends
AbstractAnnotatedItem<T, Class<T>> implements AnnotatedAnnotation<T>
+{
+
+ private Class<T> clazz;
+
+ private Set<AnnotatedMethod<?>> members;
+
+ public SimpleAnnotatedAnnotation(Class<T> annotationType)
+ {
+ super(buildAnnotationMap(annotationType));
+ this.clazz = annotationType;
+ }
+
+ public Type[] getActualTypeArguements()
+ {
+ return new Type[0];
+ }
+
+ public Set<AnnotatedMethod<?>> getMembers()
+ {
+ if (members == null)
+ {
+ initMembers();
+ }
+ return members;
+ }
+
+ public Class<T> getDelegate()
+ {
+ return clazz;
+ }
+
+ public Class<? extends T> getType()
+ {
+ return clazz;
+ }
+
+ private void initMembers()
+ {
+ this.members = new HashSet<AnnotatedMethod<?>>();
+ for (Method member : clazz.getDeclaredMethods())
+ {
+ members.add(new SimpleAnnotatedMethod<Object>(member));
+ }
+ }
+
+}
Property changes on:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/SimpleAnnotatedAnnotation.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/AnnotationModel.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/AnnotationModel.java
(rev 0)
+++
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/AnnotationModel.java 2008-10-27
13:16:13 UTC (rev 180)
@@ -0,0 +1,58 @@
+package org.jboss.webbeans.model;
+
+import java.lang.annotation.Annotation;
+
+import javax.webbeans.DefinitionException;
+
+import org.jboss.webbeans.introspector.AnnotatedAnnotation;
+import org.jboss.webbeans.introspector.SimpleAnnotatedAnnotation;
+
+public abstract class AnnotationModel<T extends Annotation>
+{
+
+ private AnnotatedAnnotation<T> annotatedAnnotation;
+ private boolean valid;
+
+ public AnnotationModel(Class<T> type)
+ {
+ this.annotatedAnnotation = new SimpleAnnotatedAnnotation<T>(type);
+ init();
+ }
+
+ protected void init()
+ {
+ initType();
+ initValid();
+ }
+
+ protected void initType()
+ {
+ if (!Annotation.class.isAssignableFrom(getType()))
+ {
+ throw new DefinitionException(getMetaAnnotation().toString() + " can only
be applied to an annotation, it was applied to " + getType());
+ }
+ }
+
+ protected void initValid()
+ {
+ this.valid = !annotatedAnnotation.isAnnotationPresent(getMetaAnnotation());
+ }
+
+ public Class<T> getType()
+ {
+ return annotatedAnnotation.getDelegate();
+ }
+
+ protected abstract Class<? extends Annotation> getMetaAnnotation();
+
+ public boolean isValid()
+ {
+ return valid;
+ }
+
+ protected AnnotatedAnnotation<T> getAnnotatedAnnotation()
+ {
+ return annotatedAnnotation;
+ }
+
+}
\ No newline at end of file
Property changes on:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/AnnotationModel.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/ScopeModel.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/ScopeModel.java 2008-10-27
13:09:50 UTC (rev 179)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/ScopeModel.java 2008-10-27
13:16:13 UTC (rev 180)
@@ -18,10 +18,10 @@
package org.jboss.webbeans.model;
+import java.lang.annotation.Annotation;
+
import javax.webbeans.ScopeType;
-import org.jboss.webbeans.exceptions.NotAScopeException;
-
/**
*
* Model of a scope
@@ -29,41 +29,28 @@
* @author Pete Muir
*
*/
-public class ScopeModel<T>
+public class ScopeModel<T extends Annotation> extends AnnotationModel<T>
{
- private Class<T> scopeClass;
- private boolean normal;
- private boolean passivating;
-
public ScopeModel(Class<T> scope)
{
- if (scope.isAnnotationPresent(ScopeType.class))
- {
- ScopeType scopeType = scope.getAnnotation(ScopeType.class);
- this.scopeClass = scope;
- this.normal = scopeType.normal();
- this.passivating = scopeType.passivating();
- }
- else
- {
- throw new NotAScopeException("Scope " + scope.getName() + " is
not annotated with @ScopeType");
- }
+ super(scope);
}
- public Class<T> getScopeClass()
+ public boolean isNormal()
{
- return scopeClass;
+ return getAnnotatedAnnotation().getAnnotation(ScopeType.class).normal();
}
- public boolean isNormal()
+ public boolean isPassivating()
{
- return normal;
+ return getAnnotatedAnnotation().getAnnotation(ScopeType.class).passivating();
}
- public boolean isPassivating()
+ @Override
+ protected Class<? extends Annotation> getMetaAnnotation()
{
- return passivating;
+ return ScopeType.class;
}
}
Modified:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/StereotypeModel.java
===================================================================
---
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/StereotypeModel.java 2008-10-27
13:09:50 UTC (rev 179)
+++
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/model/StereotypeModel.java 2008-10-27
13:16:13 UTC (rev 180)
@@ -13,18 +13,14 @@
import javax.webbeans.ScopeType;
import javax.webbeans.Stereotype;
-import org.jboss.webbeans.introspector.AnnotatedType;
-
/**
* A meta model for a stereotype, allows us to cache a stereotype and to validate it
*
* @author pmuir
*
*/
-public class StereotypeModel<T extends Annotation>
+public class StereotypeModel<T extends Annotation> extends
AnnotationModel<T>
{
-
- private Class<? extends Annotation> stereotypeClass;
private Annotation defaultDeploymentType;
private Annotation defaultScopeType;
private boolean beanNameDefaulted;
@@ -32,83 +28,70 @@
private Set<Class<?>> requiredTypes;
private Set<Annotation> interceptorBindings;
- public StereotypeModel(AnnotatedType<T> annotatedClass)
+ public StereotypeModel(Class<T> sterotype)
{
- initStereotypeClass(annotatedClass);
- Stereotype stereotype = annotatedClass.getAnnotation(Stereotype.class);
- initDefaultDeploymentType(annotatedClass);
- initDefaultScopeType(annotatedClass);
- initBeanNameDefaulted(annotatedClass);
- initSupportedScopes(annotatedClass, stereotype);
- initRequiredTypes(annotatedClass, stereotype);
- initInterceptorBindings(annotatedClass);
- checkBindingTypes(annotatedClass);
+ super(sterotype);
+ initDefaultDeploymentType();
+ initDefaultScopeType();
+ initBeanNameDefaulted();
+ initSupportedScopes();
+ initRequiredTypes();
+ initInterceptorBindings();
+ checkBindingTypes();
}
- private void checkBindingTypes(AnnotatedType<T> annotatedClass)
+ private void checkBindingTypes()
{
- Set<Annotation> bindingTypes =
annotatedClass.getAnnotations(BindingType.class);
+ Set<Annotation> bindingTypes =
getAnnotatedAnnotation().getAnnotations(BindingType.class);
if (bindingTypes.size() > 0)
{
- throw new DefinitionException("Cannot declare binding types on a stereotype
" + annotatedClass);
+ throw new DefinitionException("Cannot declare binding types on a stereotype
" + getAnnotatedAnnotation());
}
}
-
- private void initStereotypeClass(AnnotatedType<T> annotatedClass)
- {
- if (Annotation.class.isAssignableFrom(annotatedClass.getAnnotatedClass()))
- {
- this.stereotypeClass = annotatedClass.getAnnotatedClass();
- }
- else
- {
- throw new RuntimeException("@Stereotype can only be applied to an
annotation, it was applied to " + annotatedClass);
- }
- }
- private void initInterceptorBindings(AnnotatedType<T> annotatedClass)
+ private void initInterceptorBindings()
{
- interceptorBindings = annotatedClass.getAnnotations(InterceptorBindingType.class);
+ interceptorBindings =
getAnnotatedAnnotation().getAnnotations(InterceptorBindingType.class);
}
- private void initSupportedScopes(AnnotatedType<T> annotatedElement, Stereotype
stereotype)
+ private void initSupportedScopes()
{
this.supportedScopes = new HashSet<Class<? extends Annotation>>();
- Class<? extends Annotation>[] supportedScopes =
stereotype.supportedScopes();
+ Class<? extends Annotation>[] supportedScopes =
getAnnotatedAnnotation().getAnnotation(Stereotype.class).supportedScopes();
if (supportedScopes.length > 0)
{
this.supportedScopes.addAll(Arrays.asList(supportedScopes));
}
}
- private void initRequiredTypes(AnnotatedType<T> annotatedElement, Stereotype
stereotype)
+ private void initRequiredTypes()
{
this.requiredTypes = new HashSet<Class<?>>();
- Class<?>[] requiredTypes = stereotype.requiredTypes();
+ Class<?>[] requiredTypes =
getAnnotatedAnnotation().getAnnotation(Stereotype.class).requiredTypes();
if (requiredTypes.length > 0)
{
this.requiredTypes.addAll(Arrays.asList(requiredTypes));
}
}
- private void initBeanNameDefaulted(AnnotatedType<T> annotatedElement)
+ private void initBeanNameDefaulted()
{
- if (annotatedElement.isAnnotationPresent(Named.class))
+ if (getAnnotatedAnnotation().isAnnotationPresent(Named.class))
{
- if (!"".equals(annotatedElement.getAnnotation(Named.class).value()))
+ if
(!"".equals(getAnnotatedAnnotation().getAnnotation(Named.class).value()))
{
- throw new DefinitionException("Cannot specify a value for a @Named
stereotype " + annotatedElement);
+ throw new DefinitionException("Cannot specify a value for a @Named
stereotype " + getAnnotatedAnnotation());
}
beanNameDefaulted = true;
}
}
- private void initDefaultScopeType(AnnotatedType<T> annotatedElement)
+ private void initDefaultScopeType()
{
- Set<Annotation> scopeTypes =
annotatedElement.getAnnotations(ScopeType.class);
+ Set<Annotation> scopeTypes =
getAnnotatedAnnotation().getAnnotations(ScopeType.class);
if (scopeTypes.size() > 1)
{
- throw new DefinitionException("At most one scope type may be specified for
" + annotatedElement);
+ throw new DefinitionException("At most one scope type may be specified for
" + getAnnotatedAnnotation());
}
else if (scopeTypes.size() == 1)
{
@@ -116,12 +99,12 @@
}
}
- private void initDefaultDeploymentType(AnnotatedType<T> annotatedElement)
+ private void initDefaultDeploymentType()
{
- Set<Annotation> deploymentTypes =
annotatedElement.getAnnotations(DeploymentType.class);
+ Set<Annotation> deploymentTypes =
getAnnotatedAnnotation().getAnnotations(DeploymentType.class);
if (deploymentTypes.size() > 1)
{
- throw new DefinitionException("At most one deployment type may be specified
on " + annotatedElement);
+ throw new DefinitionException("At most one deployment type may be specified
on " + getAnnotatedAnnotation());
}
else if (deploymentTypes.size() == 1)
{
@@ -183,15 +166,22 @@
return requiredTypes;
}
+ @Deprecated
public Class<? extends Annotation> getStereotypeClass()
{
- return stereotypeClass;
+ return getType();
}
@Override
public String toString()
{
- return "StereotypeModel[" + stereotypeClass.getName() + "]";
+ return "StereotypeModel[" + getType() + "]";
}
+
+ @Override
+ protected Class<? extends Annotation> getMetaAnnotation()
+ {
+ return Stereotype.class;
+ }
}
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/AbstractTest.java
===================================================================
---
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/AbstractTest.java 2008-10-27
13:09:50 UTC (rev 179)
+++
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/AbstractTest.java 2008-10-27
13:16:13 UTC (rev 180)
@@ -8,7 +8,6 @@
import javax.webbeans.Standard;
import org.jboss.webbeans.ManagerImpl;
-import org.jboss.webbeans.introspector.SimpleAnnotatedType;
import org.jboss.webbeans.model.StereotypeModel;
import org.jboss.webbeans.test.annotations.AnimalStereotype;
import org.jboss.webbeans.test.annotations.AnotherDeploymentType;
@@ -43,12 +42,12 @@
private void initStereotypes(ManagerImpl container)
{
- container.getModelManager().addStereotype(new
StereotypeModel<AnimalStereotype>(new
SimpleAnnotatedType<AnimalStereotype>(AnimalStereotype.class)));
- container.getModelManager().addStereotype(new
StereotypeModel<HornedMammalStereotype>(new
SimpleAnnotatedType<HornedMammalStereotype>(HornedMammalStereotype.class)));
- container.getModelManager().addStereotype(new
StereotypeModel<MammalStereotype>(new
SimpleAnnotatedType<MammalStereotype>(MammalStereotype.class)));
- container.getModelManager().addStereotype(new
StereotypeModel<FishStereotype>(new
SimpleAnnotatedType<FishStereotype>(FishStereotype.class)));
- container.getModelManager().addStereotype(new
StereotypeModel<RiverFishStereotype>(new
SimpleAnnotatedType<RiverFishStereotype>(RiverFishStereotype.class)));
- container.getModelManager().addStereotype(new
StereotypeModel<RequestScopedAnimalStereotype>(new
SimpleAnnotatedType<RequestScopedAnimalStereotype>(RequestScopedAnimalStereotype.class)));
+ container.getModelManager().addStereotype(new
StereotypeModel<AnimalStereotype>(AnimalStereotype.class));
+ container.getModelManager().addStereotype(new
StereotypeModel<HornedMammalStereotype>(HornedMammalStereotype.class));
+ container.getModelManager().addStereotype(new
StereotypeModel<MammalStereotype>(MammalStereotype.class));
+ container.getModelManager().addStereotype(new
StereotypeModel<FishStereotype>(FishStereotype.class));
+ container.getModelManager().addStereotype(new
StereotypeModel<RiverFishStereotype>(RiverFishStereotype.class));
+ container.getModelManager().addStereotype(new
StereotypeModel<RequestScopedAnimalStereotype>(RequestScopedAnimalStereotype.class));
}
}
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/StereotypesTest.java
===================================================================
---
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/StereotypesTest.java 2008-10-27
13:09:50 UTC (rev 179)
+++
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/StereotypesTest.java 2008-10-27
13:16:13 UTC (rev 180)
@@ -61,7 +61,7 @@
@Test
public void testAnimalStereotype()
{
- StereotypeModel<AnimalStereotype> animalStereotype = new
StereotypeModel<AnimalStereotype>(new
SimpleAnnotatedType<AnimalStereotype>(AnimalStereotype.class));
+ StereotypeModel<AnimalStereotype> animalStereotype = new
StereotypeModel<AnimalStereotype>(AnimalStereotype.class);
assert
animalStereotype.getDefaultScopeType().annotationType().equals(RequestScoped.class);
assert animalStereotype.getInterceptorBindings().size() == 0;
assert animalStereotype.getRequiredTypes().size() == 1;
@@ -74,7 +74,7 @@
@Test
public void testAnimalOrderStereotype()
{
- StereotypeModel<AnimalOrderStereotype> animalStereotype = new
StereotypeModel<AnimalOrderStereotype>(new
SimpleAnnotatedType<AnimalOrderStereotype>(AnimalOrderStereotype.class));
+ StereotypeModel<AnimalOrderStereotype> animalStereotype = new
StereotypeModel<AnimalOrderStereotype>(AnimalOrderStereotype.class);
assert animalStereotype.getDefaultScopeType() == null;
assert animalStereotype.getInterceptorBindings().size() == 0;
assert animalStereotype.getRequiredTypes().size() == 2;
@@ -88,7 +88,7 @@
@Test
public void testRequestScopedAnimalStereotype()
{
- StereotypeModel<RequestScopedAnimalStereotype> animalStereotype = new
StereotypeModel<RequestScopedAnimalStereotype>(new
SimpleAnnotatedType<RequestScopedAnimalStereotype>(RequestScopedAnimalStereotype.class));
+ StereotypeModel<RequestScopedAnimalStereotype> animalStereotype = new
StereotypeModel<RequestScopedAnimalStereotype>(RequestScopedAnimalStereotype.class);
assert animalStereotype.getDefaultScopeType() == null;
assert animalStereotype.getInterceptorBindings().size() == 0;
assert animalStereotype.getRequiredTypes().size() == 1;
@@ -102,21 +102,21 @@
@Test @SpecAssertion(section="2.7.1")
public void testStereotypeWithScopeType()
{
- StereotypeModel<AnimalStereotype> animalStereotype = new
StereotypeModel<AnimalStereotype>(new
SimpleAnnotatedType<AnimalStereotype>(AnimalStereotype.class));
+ StereotypeModel<AnimalStereotype> animalStereotype = new
StereotypeModel<AnimalStereotype>(AnimalStereotype.class);
assert
animalStereotype.getDefaultScopeType().annotationType().equals(RequestScoped.class);
}
@Test @SpecAssertion(section="2.7.1")
public void testStereotypeWithoutScopeType()
{
- StereotypeModel<HornedMammalStereotype> animalStereotype = new
StereotypeModel<HornedMammalStereotype>(new
SimpleAnnotatedType<HornedMammalStereotype>(HornedMammalStereotype.class));
+ StereotypeModel<HornedMammalStereotype> animalStereotype = new
StereotypeModel<HornedMammalStereotype>(HornedMammalStereotype.class);
assert animalStereotype.getDefaultScopeType() == null;
}
@Test @SpecAssertion(section="2.7.1")
public void testStereotypeWithoutInterceptors()
{
- StereotypeModel<AnimalStereotype> animalStereotype = new
StereotypeModel<AnimalStereotype>(new
SimpleAnnotatedType<AnimalStereotype>(AnimalStereotype.class));
+ StereotypeModel<AnimalStereotype> animalStereotype = new
StereotypeModel<AnimalStereotype>(AnimalStereotype.class);
assert animalStereotype.getInterceptorBindings().size() == 0;
}
@@ -129,25 +129,25 @@
@Test(expectedExceptions=DefinitionException.class)
@SpecAssertion(section="2.7.1")
public void testStereotypeWithTooManyScopeTypes()
{
- new StereotypeModel<StereotypeWithTooManyScopeTypes>(new
SimpleAnnotatedType<StereotypeWithTooManyScopeTypes>(StereotypeWithTooManyScopeTypes.class));
+ new
StereotypeModel<StereotypeWithTooManyScopeTypes>(StereotypeWithTooManyScopeTypes.class);
}
@Test(expectedExceptions=DefinitionException.class)
@SpecAssertion(section="2.7.1")
public void testStereotypeWithTooManyDeploymentTypes()
{
- new StereotypeModel<StereotypeWithTooManyDeploymentTypes>(new
SimpleAnnotatedType<StereotypeWithTooManyDeploymentTypes>(StereotypeWithTooManyDeploymentTypes.class));
+ new
StereotypeModel<StereotypeWithTooManyDeploymentTypes>(StereotypeWithTooManyDeploymentTypes.class);
}
@Test(expectedExceptions=DefinitionException.class)
@SpecAssertion(section="2.7.1")
public void testStereotypeWithNonEmptyNamed()
{
- new StereotypeModel<StereotypeWithNonEmptyNamed>(new
SimpleAnnotatedType<StereotypeWithNonEmptyNamed>(StereotypeWithNonEmptyNamed.class));
+ new
StereotypeModel<StereotypeWithNonEmptyNamed>(StereotypeWithNonEmptyNamed.class);
}
@Test(expectedExceptions=DefinitionException.class)
@SpecAssertion(section="2.7.1")
public void testStereotypeWithBindingTypes()
{
- new StereotypeModel<StereotypeWithBindingTypes>(new
SimpleAnnotatedType<StereotypeWithBindingTypes>(StereotypeWithBindingTypes.class));
+ new
StereotypeModel<StereotypeWithBindingTypes>(StereotypeWithBindingTypes.class);
}
@Test @SpecAssertion(section={"2.7.2", "2.7.4"})