[webbeans-commits] Webbeans SVN: r3011 - tck/trunk/impl/src/main/resources.

webbeans-commits at lists.jboss.org webbeans-commits at lists.jboss.org
Mon Jul 6 20:50:39 EDT 2009


Author: shane.bryzak at jboss.com
Date: 2009-07-06 20:50:39 -0400 (Mon, 06 Jul 2009)
New Revision: 3011

Modified:
   tck/trunk/impl/src/main/resources/tck-audit.xml
Log:
section 2 assertions updated to latest spec

Modified: tck/trunk/impl/src/main/resources/tck-audit.xml
===================================================================
--- tck/trunk/impl/src/main/resources/tck-audit.xml	2009-07-06 09:41:46 UTC (rev 3010)
+++ tck/trunk/impl/src/main/resources/tck-audit.xml	2009-07-07 00:50:39 UTC (rev 3011)
@@ -3,39 +3,39 @@
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://jboss.com/products/webbeans/tck/audit http://snapshots.jboss.org/maven2/org/hibernate/tck-utils-api/0.9-SNAPSHOT/tck-utils-api-0.9-20090220.134140-13-audit.xsd"
     name="JSR-299: Java Contexts and Dependency Injection" 
-    version="20090519">
+    version="20090625">
 
-  <section id="2" title="Bean definition">
+  <section id="2" title="Concepts">
   
     <assertion id="a">
-      <text>A bean comprises of a (nonempty) set of bean types</text>
+      <text>A bean comprises of a (nonempty) set of bean types.</text>
     </assertion>
     
     <assertion id="b">
-      <text>A bean comprises of a (nonempty) set of bindings</text>
+      <text>A bean comprises of a (nonempty) set of bindings.</text>
     </assertion>
     
     <assertion id="c">
-      <text>A bean comprises of a scope</text>
+      <text>A bean comprises of a scope.</text>
     </assertion>
-    
-    <assertion id="d">
-      <text>A bean comprises of a deployment type</text>
+        
+    <assertion id="e">
+      <text>A bean comprises of an optional bean EL name.</text>
     </assertion>
     
-    <assertion id="e">
-      <text>A bean comprises of an optional bean name</text>
+    <assertion id="f">
+      <text>A bean comprises of a set of interceptor bindings.</text>
     </assertion>
     
     <assertion id="g">
-      <text>A bean comprises of a bean implementation</text>
+      <text>A bean comprises of a bean implementation.</text>
     </assertion>
   </section>
   
   <section id="2.2" title="Bean types">
   
     <assertion id="a">
-      <text>A bean may have multiple bean types</text>
+      <text>A bean may have multiple bean types.</text>
     </assertion>
        
     <assertion id="l">
@@ -46,37 +46,33 @@
   
   <section id="2.2.1" title="Legal bean types">
     <assertion id="a">
-      <text>A bean type may be an interface</text>
+      <text>A bean type may be an interface.</text>
     </assertion>
     
     <assertion id="b">
-      <text>A bean type may be a concrete class</text>
+      <text>A bean type may be a concrete class.</text>
     </assertion>
     
     <assertion id="c">
-      <text>A bean type may be an abstract class</text>
+      <text>A bean type may be an abstract class.</text>
     </assertion>
     
     <assertion id="d">
-      <text>A bean type may be declared final</text>
+      <text>A bean type may be declared final.</text>
     </assertion>
     
     <assertion id="e">
-      <text>A bean type may have final methods</text>
+      <text>A bean type may have final methods.</text>
     </assertion>
     
     <assertion id="f">
-      <text>A bean type may be a parameterized type with actual type parameters</text>
+      <text>A bean type may be a parameterized type with actual type parameters.</text>
     </assertion>
     
     <assertion id="g">
-      <text>A bean type may be a parameterized type with type variables</text>
+      <text>A bean type may be a parameterized type with type variables.</text>
     </assertion>
     
-    <assertion id="h">
-      <text>A bean type may be a parameterized type with wildcards</text>
-    </assertion>
-    
     <assertion id="i">
       <text>A bean type may be an array type.  Two array types are considered identical only if the element type is identical.</text>
     </assertion>
@@ -89,17 +85,16 @@
       <text>A bean type may be a raw type.</text>
     </assertion>
     
-    <assertion id="l">
-      <text>A type parameter is not a legal bean type</text>
+    <assertion id="la">
+      <text>A type variable is not a legal bean type</text>
     </assertion>
     
-    <assertion id="m">
-      <text>If an injection point type is a type variable, the container automatically detects the problem and treats it as a definition error, as defined in Section 12.4, "Problems detected automatically by the container".</text>
+    <assertion id="lb">
+      <text>A parameterized type that contains a wildcard type parameter is not a legal bean type.</text>
     </assertion>    
   </section>
   
-  <section id="2.2.2" title="Typecasting between bean types">
-    
+  <section id="2.2.2" title="Typecasting between bean types">    
     <assertion id="a">
       <text>A client of a bean may typecast its contextual reference to a bean to any bean type of the bean which is a Java interface.  However, the client may not in general typecast its contextual reference to an arbitrary concrete bean type of the bean.</text>
     </assertion>
@@ -112,15 +107,15 @@
   <section id="2.3.1" title="Built-in binding types">
 
     <assertion id="a0">
-      <text>Every bean has the built-in binding @Any, even if it does not explicitly declare this binding, except for beans with the builtin binding @New defined in Section 3.11, "Beans with the @New binding".</text>
+      <text>Every bean has the built-in binding |@Any|, even if it does not explicitly declare this binding, except for beans with the built-in binding |@New| defined in Section 3.11, "Beans with the @New binding".</text>
     </assertion>
   
     <assertion id="aa">
-      <text>If a bean does not explicitly declare a binding, the bean has exactly one additional binding, of type |@Current|</text>
+      <text>If a bean does not explicitly declare a binding, the bean has exactly one additional binding, of type |@Current|.</text>
     </assertion>
     
     <assertion id="b">
-      <text>The default binding is also assumed for any injection point that does not explicitly declare a binding</text>
+      <text>The default binding is also assumed for any injection point that does not explicitly declare a binding.</text>
     </assertion>
   </section>
   
@@ -135,73 +130,68 @@
     </assertion>
     
     <assertion id="ba">
-      <text>A binding type may be declared by specifying the |@javax.enterprise.inject.BindingType| meta-annotation</text>
+      <text>A binding type may be declared by specifying the |@javax.enterprise.inject.BindingType| meta-annotation.</text>
     </assertion>
         
     <assertion id="d" testable="false">
-      <text>A binding type may define annotation members</text>
+      <text>A binding type may define annotation members.</text>
       <note>This is true by default in the JLS</note>
     </assertion>
   </section>
     
-  <section id="2.3.3" title="Declaring the bindings of a bean">
-  
+  <section id="2.3.3" title="Declaring the bindings of a bean">  
     <assertion id="a">
-      <text>A bean's bindings are declared by annotating the bean class with the binding types</text>
+      <text>A bean's bindings are declared by annotating the bean class with the binding types.</text>
     </assertion>
     
     <assertion id="b">
-      <text>A bean's bindings are declared by annotating the producer method with the binding types</text>
+      <text>A bean's bindings are declared by annotating the producer method with the binding types.</text>
     </assertion>
     
     <assertion id="c">
-      <text>A bean's bindings are declared by annotating the producer field with the binding types</text>
+      <text>A bean's bindings are declared by annotating the producer field with the binding types.</text>
     </assertion>
     
     <assertion id="d">
-      <text>Any bean may declare multiple binding types</text>
+      <text>Any bean may declare multiple binding types.</text>
     </assertion>
   </section>
   
-  <section id="2.3.4" title="Specifying bindings of an injected field">
-  
+  <section id="2.3.4" title="Specifying bindings of an injected field">  
     <assertion id="a">
-      <text>Binding types may be applied to injected fields (see Section 3.8, "Injected fields") to determine the bean that is injected, according to the typesafe resolution algorithm defined in Section 5.9, "Typesafe resolution algorithm".</text>
+      <text>Binding types may be applied to injected fields (see Section 3.8, "Injected fields") to determine the bean that is injected, according to the rules of typesafe resolution defined in Section 5.3, "Typesafe resolution".</text>
     </assertion>
     
     <assertion id="b">
-      <text>A bean may only be injected to an injection point if it has all the bindings of the injection point</text>
+      <text>A bean may only be injected to an injection point if it has all the bindings of the injection point.</text>
     </assertion>
-    
   </section>
   
   <section id="2.3.5" title="Specifying bindings of a method or constructor parameter">
     <assertion id="a">
-      <text>Binding types may be applied to parameters of producer methods (see Chapter 3, Bean implementation) to determine the bean instance that is passed when the method is called by the container</text>
+      <text>Binding types may be applied to parameters of producer methods (see Chapter 3, Bean implementation) to determine the bean instance that is passed when the method is called by the container.</text>
     </assertion>
     
     <assertion id="b">
-      <text>Binding types may be applied to parameters of initializer methods (see Chapter 3, Bean implementation) to determine the bean instance that is passed when the method is called by the container</text>
+      <text>Binding types may be applied to parameters of initializer methods (see Chapter 3, Bean implementation) to determine the bean instance that is passed when the method is called by the container.</text>
     </assertion>
     
     <assertion id="c">
-      <text>Binding types may be applied to parameters of disposal methods (see Chapter 3, Bean implementation) to determine the bean instance that is passed when the method is called by the container</text>
+      <text>Binding types may be applied to parameters of disposal methods (see Chapter 3, Bean implementation) to determine the bean instance that is passed when the method is called by the container.</text>
     </assertion>
     
     <assertion id="ca">
-      <text>Binding types may be applied to parameters of observer methods (see Chapter 3, Bean implementation) to determine the bean instance that is passed when the method is called by the container</text>      
+      <text>Binding types may be applied to parameters of observer methods (see Chapter 3, Bean implementation) to determine the bean instance that is passed when the method is called by the container.</text>      
     </assertion>
     
     <assertion id="d">
-      <text>Binding types may be applied to parameters of bean constructors (see Chapter 3, Bean implementation) to determine the bean instance that is passed when the method is called by the container</text>
+      <text>Binding types may be applied to parameters of bean constructors (see Chapter 3, Bean implementation) to determine the bean instance that is passed when the method is called by the container.</text>
     </assertion>
-
   </section>
   
-  <section id="2.4" title="Scopes">
-  
+  <section id="2.4" title="Scopes">  
     <assertion id="a">
-      <text>All beans have a scope</text>
+      <text>All beans have a scope.</text>
     </assertion>
     
     <assertion id="b" testable="false">
@@ -210,9 +200,8 @@
     </assertion>
     
     <assertion id="c">
-      <text>The set of scope types is extensible</text>
-    </assertion>
-    
+      <text>The set of scope types is extensible.</text>
+    </assertion>    
   </section>
   
   <section id="2.4.1" title="Built-in scope types">
@@ -234,23 +223,23 @@
   
   <section id="2.4.2" title="Defining new scope types">
     <assertion id="aa">
-      <text>A scope type is a Java annotation defined as |@Target({TYPE, METHOD, FIELD})|~ and |@Retention(RUNTIME)|~</text>
+      <text>A scope type is a Java annotation defined as |@Target({TYPE, METHOD, FIELD})|~ and |@Retention(RUNTIME)|~.</text>
     </assertion>
     
     <assertion id="ab" testable="false">
-      <text>A scope type is a Java annotation defined as ~|@Target({TYPE, METHOD, FIELD})| and ~|@Retention(RUNTIME)|</text>
+      <text>A scope type is a Java annotation defined as ~|@Target({TYPE, METHOD, FIELD})| and ~|@Retention(RUNTIME)|.</text>
       <note>Non-runtime retention annotations are discarded by the compiler</note>
     </assertion>
     
     <assertion id="ba">
-      <text>All scope types must specify the |@javax.enterprise.context.ScopeType| meta-annotation</text>
+      <text>All scope types must specify the |@javax.enterprise.context.ScopeType| meta-annotation.</text>
     </assertion>
         
   </section>
   
   <section id="2.4.3" title="Declaring the bean scope">
     <assertion id="a">
-      <text>The bean's scope is defined by annotating the bean class or producer method or field with a scope type</text>
+      <text>The bean's scope is defined by annotating the bean class or producer method or field with a scope type.</text>
     </assertion>
     
     <assertion id="ba">
@@ -268,11 +257,11 @@
     </assertion>
     
     <assertion id="b">
-      <text>If the bean does not declare any stereotype with a declared default scope, the default scope for the bean is |@Dependent|</text>
+      <text>If the bean does not declare any stereotype with a declared default scope, the default scope for the bean is |@Dependent|.</text>
     </assertion>
     
     <assertion id="c">
-      <text>If all stereotypes declared by the bean that have some declared default scope have the same default scope, then that scope is the default scope for the bean</text>
+      <text>If all stereotypes declared by the bean that have some declared default scope have the same default scope, then that scope is the default scope for the bean.</text>
     </assertion>
     
     <assertion id="da">
@@ -281,234 +270,139 @@
     </assertion>
     
     <assertion id="e">
-      <text>If a bean explicitly declares a scope, any default scopes declared by stereotypes are ignored</text>
+      <text>If a bean explicitly declares a scope, any default scopes declared by stereotypes are ignored.</text>
     </assertion>
   </section>
+    
+  <section id="2.5" title="Bean EL names">
   
-  <section id="2.5" title="Deployment types">
-    <assertion id="a" testable="false">
-      <text>The set of deployment types is extensible</text>
-      <note>This is a statement of intent</note>
+    <assertion id="a">
+      <text>A valid bean EL name is a period-separated list of valid EL identifiers</text>
     </assertion>
   </section>
   
-  <section id="2.5.1" title="Built-in deployment types">
+  <section id="2.5.1" title="Declaring the bean EL name">
   
-    <assertion id="a0">
-      <text>The default deployment type for beans which do not explicitly declare a deployment type is |@Production|.</text>      
-    </assertion>
-  
     <assertion id="a">
-      <text>All standard beans defined by this specification, and provided by the container, are defined using the |@Standard| deployment type</text>
-      <note>This is tested in the test for each bean defined. See 5.6.1.za, 5.7.2.ca, 8.5.4.i</note>
+      <text>To specify the EL name of a bean, the |@javax.enterprise.inject.Named| annotation is applied to the bean class.</text>
     </assertion>
     
     <assertion id="b">
-      <text>No bean may be declared with the |@Standard| deployment type unless explicitly required by this specification</text>
-    </assertion>  
-  </section>    
-  
-  <section id="2.5.2" title="Defining new deployment types">
-  
-    <assertion id="a">
-      <text>A deployment type is a Java annotation defined as |@Target({TYPE, METHOD, FIELD})|</text>
+      <text>To specify the EL name of a bean, the |@javax.enterprise.inject.Named| annotation is applied to the producer method.</text>
     </assertion>
     
-    <assertion id="bb" testable="false">
-      <text>A deployment type is a Java annotation defined with |@Retention(RUNTIME)|</text>
-      <note>Non-runtime retention annotations are discarded by the compiler</note>
-    </assertion>
-    
     <assertion id="c">
-      <text>All deployment types must also specify the |@javax.inject.DeploymentType| meta-annotation.</text>
+      <text>To specify the EL name of a bean, the |@javax.enterprise.inject.Named| annotation is applied to the producer field.</text>
     </assertion>
     
     <assertion id="d">
-      <text>Applications and third-party frameworks may define their own deployment types</text>
+    <text>If the |@Named| annotation does not specify the value member, the default EL name is assumed.</text>
     </assertion>
-  
   </section>
   
-  <section id="2.5.3" title="Declaring the deployment type of a bean">
+  <section id="2.5.2" title="Default bean EL names">
   
     <assertion id="a">
-      <text>The deployment type of the bean is declared by annotating the bean class</text>
+      <text>A default EL name must be assigned by the container when a bean class declares a |@Named| annotation and no EL name is explicitly specified by the value member.</text>
     </assertion>
     
     <assertion id="b">
-      <text>The deployment type of the bean is declared by annotating the producer method</text>
+      <text>A default EL name must be assigned by the container when a producer method of a bean declares a |@Named| annotation and EL no name is explicitly specified by the value member.</text>
     </assertion>
     
     <assertion id="c">
-      <text>The deployment type of the bean is declared by annotating the field</text>
+      <text>A default EL name must be assigned by the container when a producer field of a bean declares a |@Named| annotation and no EL name is explicitly specified by the value member.</text>
     </assertion>
     
-    <assertion id="da">
-      <text>A bean class may specify at most one deployment type. If multiple deployment type annotations are specified, the container automatically detects the problem and treats it as a definition error, as defined in Section 12.4, "Problems detected automatically by the container".</text>
+    <assertion id="e">
+      <text>A default EL name must be assigned by the container when a bean declares a stereotype that declares an empty |@Named| annotation, and the bean does not explicitly specify an EL name.</text>
     </assertion>
-    
-    <assertion id="ea">
-      <text>A producer method may specify at most one deployment type. If multiple deployment type annotations are specified, the container automatically detects the problem and treats it as a definition error, as defined in Section 12.4, "Problems detected automatically by the container".</text>
-    </assertion>
-    
-    <assertion id="fa">
-      <text>A producer field may specify at most one deployment type. If multiple deployment type annotations are specified, the container automatically detects the problem and treats it as a definition error, as defined in Section 12.4, "Problems detected automatically by the container".</text>    </assertion>
-    
-    <assertion id="g">
-      <text>By default, if no deployment type annotation is explicitly specified, a producer method inherits the deployment type of the bean in which it is defined.</text>
-    </assertion>
-    
-    <assertion id="h">
-      <text>By default, if no deployment type annotation is explicitly specified, a producer field inherits the deployment type of the bean in which it is defined.</text>
-    </assertion>
-    
-    <assertion id="i">
-      <text>a deployment type may be specified using a stereotype annotation, as defined in Section 2.7.2, "Declaring the stereotypes for a bean using annotations".</text>
-    </assertion>
-  
   </section>
   
-  <section id="2.5.4" title="Default deployment type">
-    
-    <assertion id="a0">
-      <text>If a producer method does not declare any stereotype with a declared default deployment type, then the default deployment type is the deployment type of the bean that declares the producer method or field.</text>
-    </assertion>
-    
-    <assertion id="a1">
-      <text>If a producer field does not declare any stereotype with a declared default deployment type, then the default deployment type is the deployment type of the bean that declares the producer method or field.</text>
-    </assertion>
-    
-    <assertion id="aa">
-      <text>If a bean that is not a producer method or producer field does not declare any stereotype with a declared default deployment type, then the default deployment type is |@Production|</text>
-    </assertion>
-    
-    <assertion id="b">
-      <text>Otherwise, the default deployment type for the bean is the highest-precedence default deployment type declared by any stereotype declared by the bean</text>
-    </assertion>
-    
-    <assertion id="c">
-      <text>If a bean explicitly declares a deployment type, any default deployment type declared by stereotypes are ignored.</text>
-    </assertion>
-  </section>
+  <section id="2.5.3" title="Beans with no EL name">
   
-  <section id="2.5.5" title="Enabled deployment types">
-  
     <assertion id="a">
-      <text>Beans declared with a deployment type that is not enabled are not available to the resolution algorithms defined in Chapter 5, Lookup, dependency injection and EL resolution.</text>
+      <text>If |@Named| is not declared by the bean, nor by its stereotypes, a bean has no EL name.</text>
     </assertion>
-    
-    <assertion id="ba">
-      <text>If a |&lt;Deploy&gt;| element is specified, the explicitly declared deployment types are enabled, together with |@Standard|, which need not be declared explicitly.</text>
-    </assertion>
-        
-    <assertion id="d">
-      <text>If no |&lt;Deploy&gt;| element is specified in any |beans.xml| file, only the |@Standard| and |@Production| deployment types are enabled.</text>
-    </assertion>
-  
-    <assertion id="ea">
-      <text>If the |&lt;Deploy&gt;| element is specified in more than one |beans.xml| document, the container automatically detects the problem and treats it as a deployment problem, as defined in Section 12.4, "Problems detected automatically by the container".</text>
-    </assertion>  
-
   </section>
   
-  <section id="2.6" title="Bean EL names">
-  
+  <section id="2.6" title="Policies">
     <assertion id="a">
-      <text>A valid bean EL name is a period-separated list of valid EL identifiers</text>
-    </assertion>
+      <text>A policy is a bean that must be explicitly declared in the in the beans.xml file if it should be available for lookup, injection or EL resolution.</text>
+    </assertion>    
   </section>
   
-  <section id="2.6.1" title="Declaring the bean EL name">
-  
+  <section id="2.6.1" title="Declaring a policy">
     <assertion id="a">
-      <text>To specify the EL name of a bean, the |@javax.annotation.Named| annotation is applied to the bean class.</text>
+      <text>A policy may be declared by annotating the bean class with the |@Policy| annotation.</text>
     </assertion>
     
     <assertion id="b">
-      <text>To specify the EL name of a bean, the |@javax.annotation.Named| annotation is applied to the producer method.</text>
+      <text>A policy may be declared by annotating a bean with a stereotype that declares a |@Policy| annotation.</text>
     </assertion>
     
     <assertion id="c">
-      <text>To specify the EL name of a bean, the |@javax.annotation.Named| annotation is applied to the producer field.</text>
+      <text>A policy may be declared by annotating a producer method with a stereotype that declares a |@Policy| annotation.</text>
     </assertion>
     
     <assertion id="d">
-      <text>If the |@Named| annotation does not specify the value member, the default name is assumed</text>
+      <text>A policy may be declared by annotating a producer field with a stereotype that declares a |@Policy| annotation.</text>
     </assertion>
-  </section>
-  
-  <section id="2.6.2" title="Default bean EL names">
-  
-    <assertion id="a">
-      <text>A default EL name must be assigned by the container when a bean class defined using annotations declares a |@Named| annotation and no EL name is explicitly specified by the value member</text>
-    </assertion>
     
-    <assertion id="b">
-      <text>A default EL name must be assigned by the container when a producer method of a bean defined using annotations declares a |@Named| annotation and EL no name is explicitly specified by the value member</text>
-    </assertion>
-    
-    <assertion id="c">
-      <text>A default EL name must be assigned by the container when a producer field of a bean defined using annotations declares a |@Named| annotation and no EL name is explicitly specified by the value member</text>
-    </assertion>
-    
     <assertion id="e">
-      <text>A default EL name must be assigned by the container when a bean declares a stereotype that declares an empty |@Named| annotation, and the bean does not explicitly specify an EL name.</text>
+      <text>If a bean is a policy, all producer methods and fields of the bean are also policies.</text>
     </assertion>
   </section>
   
-  <section id="2.6.3" title="Beans with no EL name">
-  
-    <assertion id="a">
-      <text>If |@Named| is not specified, by neither the bean nor its stereotypes, a bean has no EL name</text>
-      <note>I've pointed out to Gavin that this is a double negative, and should probably be reworded</note>      
-    </assertion>
-  </section>
-  
   <section id="2.7" title="Stereotypes">
   
     <assertion id="a">
-      <text>A stereotype may specify that all beans with the stereotype have defaulted bean names</text>
+      <text>A stereotype may specify that all beans with the stereotype have defaulted bean EL names.</text>
     </assertion>
     
+    <assertion id="aa">
+      <text>A stereotype may specify that all beans with the stereotype are policies.</text>
+    </assertion>
+    
     <assertion id="b" testable="false">
-      <text>A bean may declare zero stereotypes</text>
+      <text>A bean may declare zero stereotypes.</text>
       <note>Not testable through API</note>
     </assertion>
   
     <assertion id="c">
-      <text>A bean may declare one stereotype</text>
+      <text>A bean may declare one stereotype.</text>
     </assertion>
   
     <assertion id="d">
-      <text>A bean may declare multiple stereotypes</text>
+      <text>A bean may declare multiple stereotypes.</text>
     </assertion>
   
   </section>
   
   <section id="2.7.1" title="Defining new stereotypes">
     <assertion id="aa" testable="false">
-      <text>A beans stereotype is a Java annotation defined as |@Target({TYPE, METHOD, FIELD})|~, |@Target(TYPE)|, |@Target(METHOD)|, |@Target(FIELD)| or |@Target({METHOD, FIELD})| and |@Retention(RUNTIME)|~</text>
+      <text>A beans stereotype is a Java annotation defined as |@Target({TYPE, METHOD, FIELD})|~, |@Target(TYPE)|, |@Target(METHOD)|, |@Target(FIELD)| or |@Target({METHOD, FIELD})| and |@Retention(RUNTIME)|~.</text>
     </assertion>
     
     <assertion id="ab" testable="false">
-      <text>A beans stereotype is a Java annotation defined as ~|@Target({TYPE, METHOD, FIELD})|,~ |@Target(TYPE)|~, |@Target(METHOD)|, |@Target(FIELD)| or |@Target({METHOD, FIELD})| and |@Retention(RUNTIME)|~</text>
+      <text>A beans stereotype is a Java annotation defined as ~|@Target({TYPE, METHOD, FIELD})|,~ |@Target(TYPE)|~, |@Target(METHOD)|, |@Target(FIELD)| or |@Target({METHOD, FIELD})| and |@Retention(RUNTIME)|~.</text>
     </assertion>
     
     <assertion id="ac" testable="false">
-      <text>A beans stereotype is a Java annotation defined as ~|@Target({TYPE, METHOD, FIELD})|, |@Target(TYPE)|, |@Target(METHOD)|, ~|@Target(FIELD)| ~or |@Target({METHOD, FIELD})| and |@Retention(RUNTIME)|~</text>
+      <text>A beans stereotype is a Java annotation defined as ~|@Target({TYPE, METHOD, FIELD})|, |@Target(TYPE)|, |@Target(METHOD)|, ~|@Target(FIELD)| ~or |@Target({METHOD, FIELD})| and |@Retention(RUNTIME)|~.</text>
     </assertion>
     
     <assertion id="ad" testable="false">
-      <text>A beans stereotype is a Java annotation defined as ~|@Target({TYPE, METHOD, FIELD})|, |@Target(TYPE)|, |@Target(METHOD)|, |@Target(FIELD)| or~ |@Target({METHOD, FIELD})|~ and |@Retention(RUNTIME)|~</text>
+      <text>A beans stereotype is a Java annotation defined as ~|@Target({TYPE, METHOD, FIELD})|, |@Target(TYPE)|, |@Target(METHOD)|, |@Target(FIELD)| or~ |@Target({METHOD, FIELD})|~ and |@Retention(RUNTIME)|~.</text>
     </assertion>
     
     <assertion id="ae" testable="false">
-      <text>A beans stereotype is a Java annotation defined as ~|@Target({TYPE, METHOD, FIELD})|, |@Target(TYPE)|, |@Target(METHOD)|, |@Target(FIELD)| or |@Target({METHOD, FIELD})| and~ |@Retention(RUNTIME)|</text>
+      <text>A beans stereotype is a Java annotation defined as ~|@Target({TYPE, METHOD, FIELD})|, |@Target(TYPE)|, |@Target(METHOD)|, |@Target(FIELD)| or |@Target({METHOD, FIELD})| and~ |@Retention(RUNTIME)|.</text>
       <note>Non-runtime retention annotations are discarded by the compiler</note>
     </assertion>
     
     <assertion id="b">
-      <text>A stereotype may be declared by specifying the |@javax.annotation.Stereotype| meta-annotation</text>
+      <text>A stereotype may be declared by specifying the |@javax.enterprise.inject.stereotype.Stereotype| meta-annotation.</text>
     </assertion>
     
     <assertion id="da">
@@ -516,16 +410,11 @@
     </assertion>
   </section>
   
-  <section id="2.7.1.1" title="Declaring the default scope and deployment type for a stereotype">
+  <section id="2.7.1.1" title="Declaring the default scope for a stereotype">
     <assertion id="aa">
       <text>A stereotype may declare at most one scope. If a stereotype declares more than one scope, the container automatically detects the problem and treats it as a definition error, as defined in Section 12.4, "Problems detected automatically by the
 container".</text>
-    </assertion>
-    
-    <assertion id="bb">
-      <text>A stereotype may declare at most one deployment type. If a stereotype declares more than one deployment type, the container automatically detects the problem and treats it as a definition error, as defined in Section 12.4, "Problems detected
-automatically by the container".</text>
-    </assertion>
+    </assertion>    
   </section>
   
   <section id="2.7.1.2" title="Specifying interceptor bindings for a stereotype">
@@ -542,72 +431,74 @@
     </assertion>
   </section>
   
-  <section id="2.7.1.3" title="Specifying name defaulting for a stereotype">
-    <assertion id="aa">
-      <text>A stereotype may declare an empty |@Named| annotation. If a stereotype declares a non-empty |@Named| annotation, the container automatically detects the problem and treats it as a definition error, as defined in Section 12.4, "Problems detected automatically by the container".</text>
+  <section id="2.7.1.3" title="Declaring a @Named stereotype">
+    <assertion id="aaa">
+      <text>A stereotype may declare an empty |@Named| annotation, which specifies that every bean with the stereotype has a defaulted name when a name is not explicitly specified by the bean.</text>
     </assertion>
     
-    <assertion id="b">
-      <text>A stereotype may specify that every bean with the stereotype has a defaulted name when a name is not explicitly specified by the bean</text>
+    <assertion id="aab">
+      <text>If a stereotype declares a non-empty |@Named| annotation, the container automatically detects the problem and treats it as a definition error, as defined in Section 12.4, "Problems detected automatically by the container".</text>
     </assertion>
   </section>
+  
+  <section id="2.7.1.4" title="Declaring a @Policy stereotype">
+    <assertion id="a">
+      <text>A stereotype may declare a @Policy annotation, which specifies that every bean with the stereotype is a policy.</text>
+    </assertion>
+  </section>
    
-  <section id="2.7.1.4" title="Stereotypes with additional stereotypes">
+  <section id="2.7.1.5" title="Stereotypes with additional stereotypes">
     <assertion id="a">
-      <text>A stereotype may declare other stereotypes</text>
+      <text>A stereotype may declare other stereotypes.</text>
     </assertion>
     
     <assertion id="b">
-      <text>Stereotype declarations are transitive - a stereotype declared by a second stereotype is inherited by all beans and other stereotypes that declare the second stereotype</text>
+      <text>Stereotype declarations are transitive - a stereotype declared by a second stereotype is inherited by all beans and other stereotypes that declare the second stereotype.</text>
     </assertion>
     
     <assertion id="c" >
-      <text>Stereotypes declared |@Target(TYPE)| may not be applied to stereotypes declared |@Target({TYPE, METHOD, FIELD})|</text>
+      <text>Stereotypes declared |@Target(TYPE)| may not be applied to stereotypes declared |@Target({TYPE, METHOD, FIELD})|.</text>
     </assertion>
     
     <assertion id="d">
-      <text>Stereotypes declared |@Target(TYPE)| may not be applied to stereotypes declared |@Target(METHOD)|</text>
+      <text>Stereotypes declared |@Target(TYPE)| may not be applied to stereotypes declared |@Target(METHOD)|.</text>
     </assertion>
     
     <assertion id="e">
-      <text>Stereotypes declared |@Target(TYPE)| may not be applied to stereotypes declared |@Target(FIELD)|</text>
+      <text>Stereotypes declared |@Target(TYPE)| may not be applied to stereotypes declared |@Target(FIELD)|.</text>
     </assertion>
     
     <assertion id="f">
-      <text>Stereotypes declared |@Target(TYPE)| may not be applied to stereotypes declared |@Target({METHOD, FIELD})|</text>
+      <text>Stereotypes declared |@Target(TYPE)| may not be applied to stereotypes declared |@Target({METHOD, FIELD})|.</text>
     </assertion>
     
   </section>
   
   <section id="2.7.2" title="Declaring the stereotypes for a bean">
     <assertion id="a">
-      <text>Stereotype annotations may be applied to a bean class</text>
+      <text>Stereotype annotations may be applied to a bean class.</text>
     </assertion>
     
     <assertion id="b">
-      <text>Stereotype annotations may be applied to a producer method</text>
+      <text>Stereotype annotations may be applied to a producer method.</text>
     </assertion>
     
     <assertion id="c">
-      <text>Stereotype annotations may be applied to a producer field</text>
+      <text>Stereotype annotations may be applied to a producer field.</text>
     </assertion>
-    
-    <assertion id="da">
-      <text>The default deployment type declared by the stereotype may be overridden by the bean</text>
-    </assertion>
-    
+        
     <assertion id="db">
-      <text>The default scope declared by the stereotype may be overridden by the bean</text>
+    <text>The default scope declared by the stereotype may be overridden by the bean.</text>
     </assertion>
     
     <assertion id="e">
-      <text>Multiple stereotypes may be applied to the same bean</text>
+      <text>Multiple stereotypes may be applied to the same bean.</text>
     </assertion>
   </section>
   
   <section id="2.7.3" title="Built-in stereotypes">
     <assertion id="aa" testable="false">
-      <text>The built-in stereotype |@javax.enterprise.inject.Model| is intended for use with beans that define the model layer of an MVC web application architecture such as JSF</text>
+      <text>The built-in stereotype |@javax.enterprise.inject.stereotype.Model| is intended for use with beans that define the model layer of an MVC web application architecture such as JSF.</text>
       <note>Tested by API signature test</note>
     </assertion>
   </section>
@@ -4287,7 +4178,7 @@
       <text>An instance of |Bean| exists for every enabled bean in a deployment.</text>
     </assertion>
     
-    <assertion id="g">
+    <assertion id="g" testable="false">
       <text>An application or portable extension may add support for new kinds of beans beyond those defined by the this specification (managed beans, session beans, producer methods and fields, resources and message destinations) by implementing |Bean| and registering beans with the container, using the mechanism defined in Section 11.2.6, "Bean registration".</text>
     </assertion>    
   </section>




More information about the weld-commits mailing list