Author: shane.bryzak(a)jboss.com
Date: 2009-03-03 22:36:14 -0500 (Tue, 03 Mar 2009)
New Revision: 1754
Modified:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/definition/binding/BindingDefinitionTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/definition/deployment/DeploymentTypeDefinitionTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/definition/scope/ScopeDefinitionTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/definition/stereotype/StereotypeDefinitionTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/interceptor/InterceptorDefinitionTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/producer/field/definition/ProducerFieldDefinitionTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/producer/method/definition/ProducerMethodDefinitionTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/simple/lifecycle/SimpleBeanLifecycleTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/inheritance/realization/RealizationTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/injection/InjectionTest.java
tck/trunk/impl/src/main/resources/tck-audit.xml
Log:
split out chapter 4 assertions, mapped tests - now i feel bad that i made our coverage
drop by a couple of percent :(
Modified:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/definition/binding/BindingDefinitionTest.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/definition/binding/BindingDefinitionTest.java 2009-03-03
20:29:13 UTC (rev 1753)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/definition/binding/BindingDefinitionTest.java 2009-03-04
03:36:14 UTC (rev 1754)
@@ -190,7 +190,7 @@
}
@Test
- @SpecAssertion(section = "4.1", id = "e")
+ @SpecAssertion(section = "4.1", id = "aa")
public void testBindingDeclaredInheritedIsInherited() throws Exception
{
Set<? extends Annotation> bindings =
getCurrentManager().resolveByType(BorderCollie.class, new
HairyBinding(false)).iterator().next().getBindings();
@@ -199,7 +199,7 @@
}
@Test
- @SpecAssertion(section = "4.1", id = "e")
+ @SpecAssertion(section = "4.1", id = "aa")
public void testBindingNotDeclaredInheritedIsNotInherited()
{
Set<? extends Annotation> bindings =
getCurrentManager().resolveByType(ShetlandPony.class).iterator().next().getBindings();
@@ -208,7 +208,7 @@
}
@Test
- @SpecAssertion(section = "4.1", id = "e")
+ @SpecAssertion(section = "4.1", id = "aa")
public void testBindingDeclaredInheritedIsBlockedByIntermediateClass()
{
Set<? extends Annotation> bindings =
getCurrentManager().resolveByType(ClippedBorderCollie.class, new
HairyBinding(true)).iterator().next().getBindings();
Modified:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/definition/deployment/DeploymentTypeDefinitionTest.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/definition/deployment/DeploymentTypeDefinitionTest.java 2009-03-03
20:29:13 UTC (rev 1753)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/definition/deployment/DeploymentTypeDefinitionTest.java 2009-03-04
03:36:14 UTC (rev 1754)
@@ -100,7 +100,7 @@
@Test(groups = { "deploymentType" })
@SpecAssertions( { @SpecAssertion(section = "2.5.5", id = "c"),
@SpecAssertion(section = "2.7.2", id = "da"),
- @SpecAssertion(section = "4.1", id = "d") })
+ @SpecAssertion(section = "4.1", id = "da") })
public void testWebBeanDeploymentTypeOverridesStereotype()
{
assert getCurrentManager().resolveByType(Reindeer.class).size() == 1;
@@ -109,7 +109,7 @@
}
@Test(groups = { "deploymentType" })
- @SpecAssertion(section = "4.1", id = "c")
+ @SpecAssertion(section = "4.1", id = "ca")
public void testDeploymentTypeDeclaredInheritedIsInherited() throws Exception
{
assert getCurrentManager().resolveByType(BorderCollie.class).size() == 1;
@@ -117,7 +117,7 @@
}
@Test(groups = { "deploymentType" })
- @SpecAssertion(section = "4.1", id = "c")
+ @SpecAssertion(section = "4.1", id = "ca")
public void testDeploymentTypeNotDeclaredInheritedIsNotInherited()
{
assert getCurrentManager().resolveByType(ShetlandPony.class).size() == 1;
@@ -125,7 +125,7 @@
}
@Test(groups = { "deploymentType" })
- @SpecAssertion(section = "4.1", id = "c")
+ @SpecAssertion(section = "4.1", id = "ca")
public void
testDeploymentTypeDeclaredInheritedIsBlockedByIntermediateDeploymentTypeNotMarkedInherited()
{
assert getCurrentManager().resolveByType(GoldenRetriever.class).size() == 1;
@@ -133,7 +133,7 @@
}
@Test(groups = { "deploymentType" })
- @SpecAssertion(section = "4.1", id = "c")
+ @SpecAssertion(section = "4.1", id = "ca")
public void
testDeploymentTypeDeclaredInheritedIsBlockedByIntermediateDeploymentTypeMarkedInherited()
{
assert getCurrentManager().resolveByType(GoldenLabrador.class).size() == 1;
Modified:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/definition/scope/ScopeDefinitionTest.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/definition/scope/ScopeDefinitionTest.java 2009-03-03
20:29:13 UTC (rev 1753)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/definition/scope/ScopeDefinitionTest.java 2009-03-04
03:36:14 UTC (rev 1754)
@@ -96,7 +96,7 @@
@Test
@SpecAssertions({
@SpecAssertion(section = "2.7.2", id = "db"),
- @SpecAssertion(section = "4.1", id = "h")
+ @SpecAssertion(section = "4.1", id = "ab")
})
public void testWebBeanScopeTypeOverridesStereotype()
{
@@ -105,27 +105,27 @@
assert bean.getScopeType().equals(RequestScoped.class);
}
- @Test @SpecAssertion(section="4.1", id = "b")
+ @Test @SpecAssertion(section="4.1", id = "ba")
public void testScopeTypeDeclaredInheritedIsInherited() throws Exception
{
assert getCurrentManager().resolveByType(BorderCollie.class).size() == 1;
assert
getCurrentManager().resolveByType(BorderCollie.class).iterator().next().getScopeType().equals(RequestScoped.class);
}
- @Test @SpecAssertion(section="4.1", id = "b")
+ @Test @SpecAssertion(section="4.1", id = "ba")
public void testScopeTypeNotDeclaredInheritedIsNotInherited()
{
assert getCurrentManager().resolveByType(ShetlandPony.class).size() == 1;
assert
getCurrentManager().resolveByType(ShetlandPony.class).iterator().next().getScopeType().equals(Dependent.class);
}
- @Test @SpecAssertion(section="4.1", id = "b")
+ @Test @SpecAssertion(section="4.1", id = "ba")
public void
testScopeTypeDeclaredInheritedIsBlockedByIntermediateScopeTypeMarkedInherited()
{
assert getCurrentManager().resolveByType(GoldenRetriever.class).size() == 1;
}
- @Test @SpecAssertion(section="4.1", id = "b")
+ @Test @SpecAssertion(section="4.1", id = "ba")
public void
testScopeTypeDeclaredInheritedIsBlockedByIntermediateScopeTypeNotMarkedInherited()
{
assert getCurrentManager().resolveByType(GoldenLabrador.class).size() == 1;
Modified:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/definition/stereotype/StereotypeDefinitionTest.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/definition/stereotype/StereotypeDefinitionTest.java 2009-03-03
20:29:13 UTC (rev 1753)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/definition/stereotype/StereotypeDefinitionTest.java 2009-03-04
03:36:14 UTC (rev 1754)
@@ -149,7 +149,7 @@
}
@Test
- @SpecAssertion(section = "4.1", id = "a")
+ @SpecAssertion(section = "4.1", id = "ab")
public void testStereotypeDeclaredInheritedIsInherited() throws Exception
{
assert getCurrentManager().resolveByType(BorderCollie.class).size() == 1;
@@ -157,7 +157,7 @@
}
@Test
- @SpecAssertion(section = "4.1", id = "a")
+ @SpecAssertion(section = "4.1", id = "ab")
public void testStereotypeNotDeclaredInheritedIsNotInherited()
{
assert getCurrentManager().resolveByType(ShetlandPony.class).size() == 1;
Modified:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/interceptor/InterceptorDefinitionTest.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/interceptor/InterceptorDefinitionTest.java 2009-03-03
20:29:13 UTC (rev 1753)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/interceptor/InterceptorDefinitionTest.java 2009-03-04
03:36:14 UTC (rev 1754)
@@ -11,13 +11,13 @@
public class InterceptorDefinitionTest
{
- @Test(groups="stub") @SpecAssertion(section="4.2", id =
"c")
+ @Test(groups="stub") @SpecAssertion(section="4.2", id =
"ca")
public void testNonStaticWithInterceptorBindingInherited()
{
assert false;
}
- @Test(groups="stub") @SpecAssertion(section="4.2", id =
"c")
+ @Test(groups="stub") @SpecAssertion(section="4.2", id =
"ca")
public void testNonStaticWithInterceptorBindingBlockedByIntermediateClass()
{
assert false;
Modified:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/producer/field/definition/ProducerFieldDefinitionTest.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/producer/field/definition/ProducerFieldDefinitionTest.java 2009-03-03
20:29:13 UTC (rev 1753)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/producer/field/definition/ProducerFieldDefinitionTest.java 2009-03-04
03:36:14 UTC (rev 1754)
@@ -214,7 +214,7 @@
}
@Test(groups = "producerField")
- @SpecAssertion(section = "4.2", id = "k")
+ @SpecAssertion(section = "4.2", id = "ea")
public void testNonStaticProducerFieldNotInherited()
{
assert !(getCurrentManager().getInstanceByType(Egg.class, FOO_LITERAL).getMother()
instanceof InfertileChicken);
Modified:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/producer/method/definition/ProducerMethodDefinitionTest.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/producer/method/definition/ProducerMethodDefinitionTest.java 2009-03-03
20:29:13 UTC (rev 1753)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/producer/method/definition/ProducerMethodDefinitionTest.java 2009-03-04
03:36:14 UTC (rev 1754)
@@ -192,7 +192,7 @@
}
@Test(groups="ri-broken")
- @SpecAssertion(section = "4.2", id = "d")
+ @SpecAssertion(section = "4.2", id = "da")
public void testNonStaticProducerMethodNotInherited()
{
assert getCurrentManager().resolveByType(Egg.class, new
AnnotationLiteral<Yummy>() {}).size() == 1;
Modified:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/simple/lifecycle/SimpleBeanLifecycleTest.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/simple/lifecycle/SimpleBeanLifecycleTest.java 2009-03-03
20:29:13 UTC (rev 1753)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/simple/lifecycle/SimpleBeanLifecycleTest.java 2009-03-04
03:36:14 UTC (rev 1754)
@@ -150,7 +150,7 @@
}
@Test
- @SpecAssertion(section = "4.2", id = "ba")
+ @SpecAssertion(section = "4.2", id = "baa")
public void testSubClassInheritsPostConstructOnSuperclass() throws Exception
{
OrderProcessor.postConstructCalled = false;
@@ -167,7 +167,7 @@
}
@Test
- @SpecAssertion(section = "4.2", id = "bb")
+ @SpecAssertion(section = "4.2", id = "bba")
public void testSubClassInheritsPreDestroyOnSuperclass() throws Exception
{
OrderProcessor.preDestroyCalled = false;
@@ -186,7 +186,7 @@
}
@Test
- @SpecAssertion(section = "4.2", id = "ba")
+ @SpecAssertion(section = "4.2", id = "baa")
public void
testSubClassDoesNotInheritPostConstructOnSuperclassBlockedByIntermediateClass() throws
Exception
{
assert getCurrentManager().resolveByType(NovelOrderProcessor.class).size() == 1;
@@ -203,7 +203,7 @@
}
@Test
- @SpecAssertion(section = "4.2", id = "bb")
+ @SpecAssertion(section = "4.2", id = "bba")
public void
testSubClassDoesNotInheritPreDestroyConstructOnSuperclassBlockedByIntermediateClass()
throws Exception
{
OrderProcessor.preDestroyCalled = false;
Modified:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/inheritance/realization/RealizationTest.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/inheritance/realization/RealizationTest.java 2009-03-03
20:29:13 UTC (rev 1753)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/inheritance/realization/RealizationTest.java 2009-03-04
03:36:14 UTC (rev 1754)
@@ -31,7 +31,7 @@
};
@Test
- @SpecAssertion(section = "4.4.1", id = "c")
+ @SpecAssertion(section = "4.4.1", id = "ca")
public void testRealizedBeanWithProducerMethodHasSameScope()
{
assert getCurrentManager().resolveByType(CowDung.class, SMELLY_LITERAL).size() ==
1;
@@ -39,7 +39,7 @@
}
@Test
- @SpecAssertion(section = "4.4.1", id = "c")
+ @SpecAssertion(section = "4.4.1", id = "ca")
public void testRealizedBeanWithProducerMethodHasDeploymentTypeOfRealizingClass()
{
assert getCurrentManager().resolveByType(CowDung.class, SMELLY_LITERAL).size() ==
1;
@@ -47,7 +47,7 @@
}
@Test
- @SpecAssertion(section = "4.4.1", id = "c")
+ @SpecAssertion(section = "4.4.1", id = "ca")
public void testRealizedBeanWithProducerMethodHasSameBindings()
{
assert getCurrentManager().resolveByType(CowDung.class, SMELLY_LITERAL).size() ==
1;
@@ -57,7 +57,7 @@
@SuppressWarnings("unchecked")
@Test
- @SpecAssertion(section = "4.4.1", id = "c")
+ @SpecAssertion(section = "4.4.1", id = "ca")
public void testRealizedBeanWithProducerMethodHasBindingsOfMethodAndRealizingType()
{
assert getCurrentManager().resolveByType(CowDung.class, SMELLY_LITERAL,
TAME_LITERAL).size() == 1;
@@ -66,7 +66,7 @@
}
@Test
- @SpecAssertion(section = "4.4.1", id = "c")
+ @SpecAssertion(section = "4.4.1", id = "ca")
public void testRealizedBeanWithProducerMethodHasSameStereotypes()
{
assert getCurrentManager().resolveByType(Dog.class).size() == 1;
@@ -74,14 +74,14 @@
}
@Test(groups = "stub")
- @SpecAssertion(section = "4.4.1", id = "c")
+ @SpecAssertion(section = "4.4.1", id = "ca")
public void testRealizedBeanWithProducerMethodHasSameInterceptorBindings()
{
assert false;
}
@Test
- @SpecAssertion(section = "4.4.1", id = "c")
+ @SpecAssertion(section = "4.4.1", id = "cb")
public void testRealizedBeanWithProducerFieldHasSameScope()
{
assert getCurrentManager().resolveByType(HorseDung.class, SMELLY_LITERAL).size() ==
1;
@@ -89,7 +89,7 @@
}
@Test
- @SpecAssertion(section = "4.4.1", id = "c")
+ @SpecAssertion(section = "4.4.1", id = "cb")
public void testRealizedBeanWithProducerFieldHasDeploymentTypeOfRealizingClass()
{
assert getCurrentManager().resolveByType(HorseDung.class, SMELLY_LITERAL).size() ==
1;
@@ -97,7 +97,7 @@
}
@Test
- @SpecAssertion(section = "4.4.1", id = "c")
+ @SpecAssertion(section = "4.4.1", id = "cb")
public void testRealizedBeanWithProducerFieldHasSameBindings()
{
assert getCurrentManager().resolveByType(HorseDung.class, SMELLY_LITERAL).size() ==
1;
@@ -107,7 +107,7 @@
@SuppressWarnings("unchecked")
@Test
- @SpecAssertion(section = "4.4.1", id = "c")
+ @SpecAssertion(section = "4.4.1", id = "cb")
public void testRealizedBeanWithProducerFieldHasBindingsOfMethodAndRealizingType()
{
assert getCurrentManager().resolveByType(HorseDung.class, SMELLY_LITERAL,
TAME_LITERAL).size() == 1;
@@ -116,7 +116,7 @@
}
@Test
- @SpecAssertion(section = "4.4.1", id = "c")
+ @SpecAssertion(section = "4.4.1", id = "cb")
public void testRealizedBeanWithProducerFieldHasSameStereotypes()
{
assert getCurrentManager().resolveByType(Donkey.class).size() == 1;
@@ -124,7 +124,7 @@
}
@Test(groups = "stub")
- @SpecAssertion(section = "4.4.1", id = "c")
+ @SpecAssertion(section = "4.4.1", id = "cb")
public void testRealizedBeanWithProducerFieldHasSameInterceptorBindings()
{
assert false;
Modified:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/injection/InjectionTest.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/injection/InjectionTest.java 2009-03-03
20:29:13 UTC (rev 1753)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/injection/InjectionTest.java 2009-03-04
03:36:14 UTC (rev 1754)
@@ -49,7 +49,7 @@
assert foxRun.fox.getName().equals("gavin");
}
- @Test @SpecAssertion(section="4.2", id = "a")
+ @Test @SpecAssertion(section="4.2", id = "aa")
public void testFieldDeclaredInSuperclassInjected() throws Exception
{
Modified: tck/trunk/impl/src/main/resources/tck-audit.xml
===================================================================
--- tck/trunk/impl/src/main/resources/tck-audit.xml 2009-03-03 20:29:13 UTC (rev 1753)
+++ tck/trunk/impl/src/main/resources/tck-audit.xml 2009-03-04 03:36:14 UTC (rev 1754)
@@ -2148,53 +2148,165 @@
</section>
<section id="4.1" title="Inheritance of type-level
metadata">
-
- <assertion id="a">
- <text>For class X which is extended directly or indirectly by the bean class
of a simple or session bean Y, if X is annotated with a binding type, stereotype or
interceptor binding type Z then Y inherits the annotation if and only if Z declares the
@Inherited meta-annotation and neither Y nor any intermediate class that is a subclass of
X and a superclass of Y declares an annotation of type Z.</text>
+
+ <assertion id="aa">
+ <text>For class X which is extended _directly_ by the bean class of a
_simple_ bean Y, if X is annotated with a _binding type_ Z then Y inherits the annotation
if and only if Z declares the @Inherited meta-annotation and neither Y nor any
intermediate class that is a subclass of X and a superclass of Y declares an annotation of
type Z.</text>
+ </assertion>
+
+ <assertion id="ab">
+ <text>For class X which is extended _directly_ by the bean class of a
_simple_ bean Y, if X is annotated with a _stereotype_ Z then Y inherits the annotation if
and only if Z declares the @Inherited meta-annotation and neither Y nor any intermediate
class that is a subclass of X and a superclass of Y declares an annotation of type
Z.</text>
+ </assertion>
+
+ <assertion id="ac">
+ <text>For class X which is extended _directly_ by the bean class of a
_simple_ bean Y, if X is annotated with a _interceptor binding type_ Z then Y inherits the
annotation if and only if Z declares the @Inherited meta-annotation and neither Y nor any
intermediate class that is a subclass of X and a superclass of Y declares an annotation of
type Z.</text>
+ </assertion>
+
+ <assertion id="ad">
+ <text>For class X which is extended _directly_ by the bean class of a
_session_ bean Y, if X is annotated with a _binding type_ Z then Y inherits the annotation
if and only if Z declares the @Inherited meta-annotation and neither Y nor any
intermediate class that is a subclass of X and a superclass of Y declares an annotation of
type Z.</text>
+ </assertion>
+
+ <assertion id="ae">
+ <text>For class X which is extended _directly_ by the bean class of a
_session_ bean Y, if X is annotated with a _stereotype_ Z then Y inherits the annotation
if and only if Z declares the @Inherited meta-annotation and neither Y nor any
intermediate class that is a subclass of X and a superclass of Y declares an annotation of
type Z.</text>
+ </assertion>
+
+ <assertion id="af">
+ <text>For class X which is extended _directly_ by the bean class of a
_session_ bean Y, if X is annotated with a _interceptor binding type_ Z then Y inherits
the annotation if and only if Z declares the @Inherited meta-annotation and neither Y nor
any intermediate class that is a subclass of X and a superclass of Y declares an
annotation of type Z.</text>
+ </assertion>
+
+ <assertion id="ag">
+ <text>For class X which is extended _indirectly_ by the bean class of a
_simple_ bean Y, if X is annotated with a _binding type_ Z then Y inherits the annotation
if and only if Z declares the @Inherited meta-annotation and neither Y nor any
intermediate class that is a subclass of X and a superclass of Y declares an annotation of
type Z.</text>
+ </assertion>
+
+ <assertion id="ah">
+ <text>For class X which is extended _indirectly_ by the bean class of a
_simple_ bean Y, if X is annotated with a _stereotype_ Z then Y inherits the annotation if
and only if Z declares the @Inherited meta-annotation and neither Y nor any intermediate
class that is a subclass of X and a superclass of Y declares an annotation of type
Z.</text>
+ </assertion>
+
+ <assertion id="ai">
+ <text>For class X which is extended _indirectly_ by the bean class of a
_simple_ bean Y, if X is annotated with a _interceptor binding type_ Z then Y inherits the
annotation if and only if Z declares the @Inherited meta-annotation and neither Y nor any
intermediate class that is a subclass of X and a superclass of Y declares an annotation of
type Z.</text>
+ </assertion>
+
+ <assertion id="aj">
+ <text>For class X which is extended _indirectly_ by the bean class of a
_session_ bean Y, if X is annotated with a _binding type_ Z then Y inherits the annotation
if and only if Z declares the @Inherited meta-annotation and neither Y nor any
intermediate class that is a subclass of X and a superclass of Y declares an annotation of
type Z.</text>
+ </assertion>
+
+ <assertion id="ak">
+ <text>For class X which is extended _indirectly_ by the bean class of a
_session_ bean Y, if X is annotated with a _stereotype_ Z then Y inherits the annotation
if and only if Z declares the @Inherited meta-annotation and neither Y nor any
intermediate class that is a subclass of X and a superclass of Y declares an annotation of
type Z.</text>
+ </assertion>
+
+ <assertion id="al">
+ <text>For class X which is extended _indirectly_ by the bean class of a
_session_ bean Y, if X is annotated with a _interceptor binding type_ Z then Y inherits
the annotation if and only if Z declares the @Inherited meta-annotation and neither Y nor
any intermediate class that is a subclass of X and a superclass of Y declares an
annotation of type Z.</text>
+ </assertion>
+
+ <assertion id="ba">
+ <text>For class X which is extended _directly_ by the bean class of a
_simple_ bean Y, if X is annotated with a scope type Z then Y inherits the annotation if
and only if Z declares the @Inherited meta-annotation and neither Y nor any intermediate
class that is a subclass of X and a superclass of Y declares a scope type.</text>
</assertion>
- <assertion id="b">
- <text>For class X which is extended directly or indirectly by the bean class
of a simple or session bean Y, if X is annotated with a scope type Z then Y inherits the
annotation if and only if Z declares the @Inherited meta-annotation and neither Y nor any
intermediate class that is a subclass of X and a superclass of Y declares a scope
type.</text>
+ <assertion id="bb">
+ <text>For class X which is extended _directly_ by the bean class of a
_session_ bean Y, if X is annotated with a scope type Z then Y inherits the annotation if
and only if Z declares the @Inherited meta-annotation and neither Y nor any intermediate
class that is a subclass of X and a superclass of Y declares a scope type.</text>
</assertion>
- <assertion id="c">
- <text>For class X which is extended directly or indirectly by the bean class
of a simple or session bean Y, if X is annotated with a deployment type Z then Y inherits
the annotation if and only if Z declares the @Inherited meta-annotation and neither Y nor
any intermediate class that is a subclass of X and a superclass of Y declares a deployment
type.</text>
+ <assertion id="bc">
+ <text>For class X which is extended _indirectly_ by the bean class of a
_simple_ bean Y, if X is annotated with a scope type Z then Y inherits the annotation if
and only if Z declares the @Inherited meta-annotation and neither Y nor any intermediate
class that is a subclass of X and a superclass of Y declares a scope type.</text>
</assertion>
- <assertion id="d">
- <text>For class X which is extended directly or indirectly by the bean class
of a simple or session bean Y, the scope types and deployment types explicitly declared by
and inherited from the class X take precedence over default scopes and deployment types
declared by stereotypes.</text>
+ <assertion id="bd">
+ <text>For class X which is extended _indirectly_ by the bean class of a
_session_ bean Y, if X is annotated with a scope type Z then Y inherits the annotation if
and only if Z declares the @Inherited meta-annotation and neither Y nor any intermediate
class that is a subclass of X and a superclass of Y declares a scope type.</text>
</assertion>
+
+ <assertion id="ca">
+ <text>For class X which is extended _directly_ by the bean class of a
_simple_ bean Y, if X is annotated with a deployment type Z then Y inherits the annotation
if and only if Z declares the @Inherited meta-annotation and neither Y nor any
intermediate class that is a subclass of X and a superclass of Y declares a deployment
type.</text>
+ </assertion>
- <assertion id="e">
- <text>For class X which is the bean class of a simple or session bean Y
declared using XML, if X is annotated with a binding type, stereotype or interceptor
binding type Z then Y inherits the annotation if and only if Z declares the @Inherited
meta-annotation and Y does not explicitly declare an annotation of type Z using
XML.</text>
+ <assertion id="cb">
+ <text>For class X which is extended _directly_ by the bean class of a
_session_ bean Y, if X is annotated with a deployment type Z then Y inherits the
annotation if and only if Z declares the @Inherited meta-annotation and neither Y nor any
intermediate class that is a subclass of X and a superclass of Y declares a deployment
type.</text>
</assertion>
- <assertion id="f">
- <text>For class X which is the bean class of a simple or session bean Y
declared using XML, if X is annotated with a scope type Z then Y inherits the annotation
if and only if Z declares the @Inherited meta-annotation and Y does not explicitly declare
a scope type using XML.</text>
+ <assertion id="cc">
+ <text>For class X which is extended _indirectly_ by the bean class of a
_simple_ bean Y, if X is annotated with a deployment type Z then Y inherits the annotation
if and only if Z declares the @Inherited meta-annotation and neither Y nor any
intermediate class that is a subclass of X and a superclass of Y declares a deployment
type.</text>
</assertion>
- <assertion id="g">
- <text>For class X which is the bean class of a simple or session bean Y
declared using XML, if X is annotated with a deployment type Z then Y inherits the
annotation if and only if Z declares the @Inherited meta-annotation and Y does not
explicitly declare a deployment type using XML.</text>
+ <assertion id="cd">
+ <text>For class X which is extended _indirectly_ by the bean class of a
_session_ bean Y, if X is annotated with a deployment type Z then Y inherits the
annotation if and only if Z declares the @Inherited meta-annotation and neither Y nor any
intermediate class that is a subclass of X and a superclass of Y declares a deployment
type.</text>
</assertion>
- <assertion id="h">
- <text>For class X which is the bean class of a simple or session bean Y
declared using XML, the scope types and deployment types explicitly declared by and
inherited from the class X take precedence over default scope and deployment types
declared by stereotypes.</text>
+ <assertion id="da">
+ <text>For class X which is extended _directly_ by the bean class of a
_simple_ bean Y, the scope types and deployment types explicitly declared by and inherited
from the class X take precedence over default scopes and deployment types declared by
stereotypes.</text>
</assertion>
+ <assertion id="db">
+ <text>For class X which is extended _directly_ by the bean class of a
_session_ bean Y, the scope types and deployment types explicitly declared by and
inherited from the class X take precedence over default scopes and deployment types
declared by stereotypes.</text>
+ </assertion>
+
+ <assertion id="dc">
+ <text>For class X which is extended _indirectly_ by the bean class of a
_simple_ bean Y, the scope types and deployment types explicitly declared by and inherited
from the class X take precedence over default scopes and deployment types declared by
stereotypes.</text>
+ </assertion>
+
+ <assertion id="dd">
+ <text>For class X which is extended _indirectly_ by the bean class of a
_session_ bean Y, the scope types and deployment types explicitly declared by and
inherited from the class X take precedence over default scopes and deployment types
declared by stereotypes.</text>
+ </assertion>
+
+ <assertion id="ea">
+ <text>For class X which is the bean class of a _simple_ bean Y declared using
XML, if X is annotated with a _binding type_ Z then Y inherits the annotation if and only
if Z declares the @Inherited meta-annotation and Y does not explicitly declare an
annotation of type Z using XML.</text>
+ </assertion>
+
+ <assertion id="eb">
+ <text>For class X which is the bean class of a _simple_ bean Y declared using
XML, if X is annotated with a _stereotype_ Z then Y inherits the annotation if and only if
Z declares the @Inherited meta-annotation and Y does not explicitly declare an annotation
of type Z using XML.</text>
+ </assertion>
+
+ <assertion id="ec">
+ <text>For class X which is the bean class of a _simple_ bean Y declared using
XML, if X is annotated with an _interceptor binding type_ Z then Y inherits the annotation
if and only if Z declares the @Inherited meta-annotation and Y does not explicitly declare
an annotation of type Z using XML.</text>
+ </assertion>
+
+ <assertion id="ed">
+ <text>For class X which is the bean class of a _session_ bean Y declared
using XML, if X is annotated with a _binding type_ Z then Y inherits the annotation if and
only if Z declares the @Inherited meta-annotation and Y does not explicitly declare an
annotation of type Z using XML.</text>
+ </assertion>
+
+ <assertion id="ee">
+ <text>For class X which is the bean class of a _session_ bean Y declared
using XML, if X is annotated with a _stereotype_ Z then Y inherits the annotation if and
only if Z declares the @Inherited meta-annotation and Y does not explicitly declare an
annotation of type Z using XML.</text>
+ </assertion>
+
+ <assertion id="ef">
+ <text>For class X which is the bean class of a _session_ bean Y declared
using XML, if X is annotated with an _interceptor binding type_ Z then Y inherits the
annotation if and only if Z declares the @Inherited meta-annotation and Y does not
explicitly declare an annotation of type Z using XML.</text>
+ </assertion>
+
+ <assertion id="fa">
+ <text>For class X which is the bean class of a _simple_ bean Y declared using
XML, if X is annotated with a scope type Z then Y inherits the annotation if and only if Z
declares the @Inherited meta-annotation and Y does not explicitly declare a scope type
using XML.</text>
+ </assertion>
+
+ <assertion id="fb">
+ <text>For class X which is the bean class of a _session_ bean Y declared
using XML, if X is annotated with a scope type Z then Y inherits the annotation if and
only if Z declares the @Inherited meta-annotation and Y does not explicitly declare a
scope type using XML.</text>
+ </assertion>
+
+ <assertion id="ga">
+ <text>For class X which is the bean class of a _simple_ bean Y declared using
XML, if X is annotated with a deployment type Z then Y inherits the annotation if and only
if Z declares the @Inherited meta-annotation and Y does not explicitly declare a
deployment type using XML.</text>
+ </assertion>
+
+ <assertion id="gb">
+ <text>For class X which is the bean class of a _session_ bean Y declared
using XML, if X is annotated with a deployment type Z then Y inherits the annotation if
and only if Z declares the @Inherited meta-annotation and Y does not explicitly declare a
deployment type using XML.</text>
+ </assertion>
+
+ <assertion id="ha">
+ <text>For class X which is the bean class of a _simple_ bean Y declared using
XML, the scope types and deployment types explicitly declared by and inherited from the
class X take precedence over default scope and deployment types declared by
stereotypes.</text>
+ </assertion>
+
+ <assertion id="hb">
+ <text>For class X which is the bean class of a _session_ bean Y declared
using XML, the scope types and deployment types explicitly declared by and inherited from
the class X take precedence over default scope and deployment types declared by
stereotypes.</text>
+ </assertion>
+
<assertion id="i">
- <text>For annotations defined by the bean specification, all built-in scope
types are declared @Inherited</text>
+ <text>For annotations defined by the bean specification, all built-in _scope
types_ are declared @Inherited</text>
</assertion>
<assertion id="j">
- <text>For annotations defined by the bean specification, all built-in
stereotypes are declared @Inherited</text>
+ <text>For annotations defined by the bean specification, all built-in
_stereotypes_ are declared @Inherited</text>
</assertion>
<assertion id="k">
- <text>For annotations defined by the bean specification, no built-in binding
type is declared @Inherited</text>
+ <text>For annotations defined by the bean specification, _no built-in binding
type is declared @Inherited_</text>
</assertion>
<assertion id="l">
- <text>For annotations defined by the bean specification, the built-in
deployment type is not declared @Inherited</text>
+ <text>For annotations defined by the bean specification, _the built-in
deployment type is not declared @Inherited_</text>
</assertion>
<assertion id="m">
@@ -2204,57 +2316,262 @@
</section>
<section id="4.2" title="Inheritance of member-level
metadata">
- <assertion id="a">
- <text>For class X which is extended directly or indirectly by the bean class
of a simple or session bean Y, if X declares an injected field x then Y inherits
x.</text>
+
+ <assertion id="aa">
+ <text>For class X which is extended _directly_ by the bean class of a
_simple_ bean Y, if X declares an injected field x then Y inherits x.</text>
</assertion>
- <assertion id="ba">
- <text>For class X which is extended directly or indirectly by the bean class
of a simple or session bean Y, if X declares a @PostConstruct method x() then Y inherits
x() if and only if neither Y nor any intermediate class that is a subclass of X and a
superclass of Y overrides the method x()</text>
+ <assertion id="ab">
+ <text>For class X which is extended _directly_ by the bean class of a
_session_ bean Y, if X declares an injected field x then Y inherits x.</text>
</assertion>
- <assertion id="bb">
- <text>For class X which is extended directly or indirectly by the bean class
of a simple or session bean Y, if X declares a @PreDestroy method x() then Y inherits x()
if and only if neither Y nor any intermediate class that is a subclass of X and a
superclass of Y overrides the method x()</text>
+ <assertion id="ac">
+ <text>For class X which is extended _indirectly_ by the bean class of a
_simple_ bean Y, if X declares an injected field x then Y inherits x.</text>
</assertion>
- <assertion id="c">
- <text>For class X which is extended directly or indirectly by the bean class
of a simple or session bean Y, if X declares a non-static method x() annotated with an
interceptor binding type Z then Y inherits the binding if and only if neither Y nor any
intermediate class that is a subclass of X and a superclass of Y overrides the method
x().</text>
+ <assertion id="ad">
+ <text>For class X which is extended _indirectly_ by the bean class of a
_session_ bean Y, if X declares an injected field x then Y inherits x.</text>
</assertion>
+
+ <assertion id="baa">
+ <text>For class X which is extended _directly_ by the bean class of a
_simple_ bean Y, if X declares a _@PostConstruct_ method x() then Y inherits x() if and
only if neither Y nor any intermediate class that is a subclass of X and a superclass of Y
overrides the method x()</text>
+ </assertion>
- <assertion id="d">
- <text>For class X which is extended directly or indirectly by the bean class
of a simple or session bean Y, if X declares a non-static producer, disposal, or observer
method x() then Y does not inherit this method unless Y is explicitly declared to
specialize or realize X</text>
+ <assertion id="bab">
+ <text>For class X which is extended _directly_ by the bean class of a
_session_ bean Y, if X declares a _@PostConstruct_ method x() then Y inherits x() if and
only if neither Y nor any intermediate class that is a subclass of X and a superclass of Y
overrides the method x()</text>
</assertion>
- <assertion id="e">
- <text>For class X which is extended directly or indirectly by the bean class
of a simple or session bean Y, if X declares a non-static producer field x then Y does not
inherit this field unless Y is explicitly declared to specialize or realize
X.</text>
+ <assertion id="bac">
+ <text>For class X which is extended _indirectly_ by the bean class of a
_simple_ bean Y, if X declares a _@PostConstruct_ method x() then Y inherits x() if and
only if neither Y nor any intermediate class that is a subclass of X and a superclass of Y
overrides the method x()</text>
</assertion>
- <assertion id="f">
- <text>For class X which is extended directly or indirectly by the bean class
of a simple or session bean Y, if Y is a decorator and X declares a delegate attribute x
then Y inherits x if and only if neither Y nor any intermediate class that is a subclass
of X and a superclass of Y defines a delegate attribute</text>
+ <assertion id="bad">
+ <text>For class X which is extended _indirectly_ by the bean class of a
_session_ bean Y, if X declares a _@PostConstruct_ method x() then Y inherits x() if and
only if neither Y nor any intermediate class that is a subclass of X and a superclass of Y
overrides the method x()</text>
</assertion>
+
+ <assertion id="bba">
+ <text>For class X which is extended _directly_ by the bean class of a
_simple_ bean Y, if X declares a _@PreDestroy_ method x() then Y inherits x() if and only
if neither Y nor any intermediate class that is a subclass of X and a superclass of Y
overrides the method x()</text>
+ </assertion>
- <assertion id="g">
- <text>For class X which is the bean class of a simple or session bean Y
declared using XML, if X declares an injected field x then Y inherits x, unless Y
explicitly declares x using XML.</text>
+ <assertion id="bbb">
+ <text>For class X which is extended _directly_ by the bean class of a
_session_ bean Y, if X declares a _@PreDestroy_ method x() then Y inherits x() if and only
if neither Y nor any intermediate class that is a subclass of X and a superclass of Y
overrides the method x()</text>
</assertion>
- <assertion id="h">
- <text>For class X which is the bean class of a simple or session bean Y
declared using XML, if X declares an initializer method, @PostConstruct method or
@PreDestroy method x() then Y inherits x(), unless Y explicitly declares x() using
XML</text>
+ <assertion id="bbc">
+ <text>For class X which is extended _indirectly_ by the bean class of a
_simple_ bean Y, if X declares a _@PreDestroy_ method x() then Y inherits x() if and only
if neither Y nor any intermediate class that is a subclass of X and a superclass of Y
overrides the method x()</text>
</assertion>
- <assertion id="i">
- <text>For class X which is the bean class of a simple or session bean Y
declared using XML, if X declares a non-static method x() annotated with an interceptor
binding type Z then Y inherits the binding, unless Y explicitly declares x() using
XML.</text>
+ <assertion id="bbd">
+ <text>For class X which is extended _indirectly_ by the bean class of a
_session_ bean Y, if X declares a _@PreDestroy_ method x() then Y inherits x() if and only
if neither Y nor any intermediate class that is a subclass of X and a superclass of Y
overrides the method x()</text>
</assertion>
+
+ <assertion id="ca">
+ <text>For class X which is extended _directly_ by the bean class of a
_simple_ bean Y, if X declares a _non-static method_ x() annotated with an interceptor
binding type Z then Y inherits the binding if and only if neither Y nor any intermediate
class that is a subclass of X and a superclass of Y overrides the method
x().</text>
+ </assertion>
- <assertion id="j">
- <text>For class X which is the bean class of a simple or session bean Y
declared using XML, if X declares a non-static producer, disposal, or observer method x()
then Y does not inherit this method, unless Y is explicitly declared to specialize or
realize X.</text>
+ <assertion id="cb">
+ <text>For class X which is extended _directly_ by the bean class of a
_session_ bean Y, if X declares a _non-static method_ x() annotated with an interceptor
binding type Z then Y inherits the binding if and only if neither Y nor any intermediate
class that is a subclass of X and a superclass of Y overrides the method
x().</text>
</assertion>
- <assertion id="k">
- <text>For class X which is the bean class of a simple or session bean Y
declared using XML, if X declares a non-static producer field x then Y does not inherit
this field, unless Y is explicitly declared to specialize or realize X.</text>
+ <assertion id="cc">
+ <text>For class X which is extended _indirectly_ by the bean class of a
_simple_ bean Y, if X declares a _non-static method_ x() annotated with an interceptor
binding type Z then Y inherits the binding if and only if neither Y nor any intermediate
class that is a subclass of X and a superclass of Y overrides the method
x().</text>
</assertion>
- <assertion id="l">
- <text>For class X which is the bean class of a simple or session bean Y
declared using XML, if Y is a decorator and X declares a delegate attribute x then Y
inherits x, unless Y explicitly declares a delegate attribute using XML.</text>
+ <assertion id="cd">
+ <text>For class X which is extended _indirectly_ by the bean class of a
_session_ bean Y, if X declares a _non-static method_ x() annotated with an interceptor
binding type Z then Y inherits the binding if and only if neither Y nor any intermediate
class that is a subclass of X and a superclass of Y overrides the method
x().</text>
</assertion>
+
+ <assertion id="da">
+ <text>For class X which is extended _directly_ by the bean class of a
_simple_ bean Y, if X declares a _non-static producer method_ x() then Y does not inherit
this method unless Y is explicitly declared to specialize or realize X</text>
+ </assertion>
+
+ <assertion id="db">
+ <text>For class X which is extended _directly_ by the bean class of a
_simple_ bean Y, if X declares a _non-static disposal method_ x() then Y does not inherit
this method unless Y is explicitly declared to specialize or realize X</text>
+ </assertion>
+
+ <assertion id="dc">
+ <text>For class X which is extended _directly_ by the bean class of a
_simple_ bean Y, if X declares a _non-static observer method_ x() then Y does not inherit
this method unless Y is explicitly declared to specialize or realize X</text>
+ </assertion>
+
+ <assertion id="dd">
+ <text>For class X which is extended _directly_ by the bean class of a
_session_ bean Y, if X declares a _non-static producer method_ x() then Y does not inherit
this method unless Y is explicitly declared to specialize or realize X</text>
+ </assertion>
+
+ <assertion id="de">
+ <text>For class X which is extended _directly_ by the bean class of a
_session_ bean Y, if X declares a _non-static disposal method_ x() then Y does not inherit
this method unless Y is explicitly declared to specialize or realize X</text>
+ </assertion>
+
+ <assertion id="df">
+ <text>For class X which is extended _directly_ by the bean class of a
_session_ bean Y, if X declares a _non-static observer method_ x() then Y does not inherit
this method unless Y is explicitly declared to specialize or realize X</text>
+ </assertion>
+
+ <assertion id="dg">
+ <text>For class X which is extended _indirectly_ by the bean class of a
_simple_ bean Y, if X declares a _non-static producer method_ x() then Y does not inherit
this method unless Y is explicitly declared to specialize or realize X</text>
+ </assertion>
+
+ <assertion id="dh">
+ <text>For class X which is extended _indirectly_ by the bean class of a
_simple_ bean Y, if X declares a _non-static disposal method_ x() then Y does not inherit
this method unless Y is explicitly declared to specialize or realize X</text>
+ </assertion>
+
+ <assertion id="di">
+ <text>For class X which is extended _indirectly_ by the bean class of a
_simple_ bean Y, if X declares a _non-static observer method_ x() then Y does not inherit
this method unless Y is explicitly declared to specialize or realize X</text>
+ </assertion>
+
+ <assertion id="dj">
+ <text>For class X which is extended _indirectly_ by the bean class of a
_session_ bean Y, if X declares a _non-static producer method_ x() then Y does not inherit
this method unless Y is explicitly declared to specialize or realize X</text>
+ </assertion>
+
+ <assertion id="dk">
+ <text>For class X which is extended _indirectly_ by the bean class of a
_session_ bean Y, if X declares a _non-static disposal method_ x() then Y does not inherit
this method unless Y is explicitly declared to specialize or realize X</text>
+ </assertion>
+
+ <assertion id="dl">
+ <text>For class X which is extended _indirectly_ by the bean class of a
_session_ bean Y, if X declares a _non-static observer method_ x() then Y does not inherit
this method unless Y is explicitly declared to specialize or realize X</text>
+ </assertion>
+
+ <assertion id="ea">
+ <text>For class X which is extended _directly_ by the bean class of a
_simple_ bean Y, if X declares a _non-static producer field_ x then Y does not inherit
this field unless Y is explicitly declared to specialize or realize X.</text>
+ </assertion>
+
+ <assertion id="eb">
+ <text>For class X which is extended _directly_ by the bean class of a
_session_ bean Y, if X declares a _non-static producer field_ x then Y does not inherit
this field unless Y is explicitly declared to specialize or realize X.</text>
+ </assertion>
+
+ <assertion id="ec">
+ <text>For class X which is extended _indirectly_ by the bean class of a
_simple_ bean Y, if X declares a _non-static producer field_ x then Y does not inherit
this field unless Y is explicitly declared to specialize or realize X.</text>
+ </assertion>
+
+ <assertion id="ed">
+ <text>For class X which is extended _indirectly_ by the bean class of a
_session_ bean Y, if X declares a _non-static producer field_ x then Y does not inherit
this field unless Y is explicitly declared to specialize or realize X.</text>
+ </assertion>
+
+ <assertion id="fa">
+ <text>For class X which is extended _directly_ by the bean class of a
_simple_ bean Y, if Y is a decorator and X declares a delegate attribute x then Y inherits
x if and only if neither Y nor any intermediate class that is a subclass of X and a
superclass of Y defines a delegate attribute</text>
+ </assertion>
+
+ <assertion id="fb">
+ <text>For class X which is extended _directly_ by the bean class of a
_session_ bean Y, if Y is a decorator and X declares a delegate attribute x then Y
inherits x if and only if neither Y nor any intermediate class that is a subclass of X and
a superclass of Y defines a delegate attribute</text>
+ </assertion>
+
+ <assertion id="fc">
+ <text>For class X which is extended _indirectly_ by the bean class of a
_simple_ bean Y, if Y is a decorator and X declares a delegate attribute x then Y inherits
x if and only if neither Y nor any intermediate class that is a subclass of X and a
superclass of Y defines a delegate attribute</text>
+ </assertion>
+
+ <assertion id="fd">
+ <text>For class X which is extended _indirectly_ by the bean class of a
_session_ bean Y, if Y is a decorator and X declares a delegate attribute x then Y
inherits x if and only if neither Y nor any intermediate class that is a subclass of X and
a superclass of Y defines a delegate attribute</text>
+ </assertion>
+
+ <assertion id="ga">
+ <text>For class X which is the bean class of a _simple_ bean Y declared using
XML, if X declares an injected field x then Y inherits x, unless Y explicitly declares x
using XML.</text>
+ </assertion>
+
+ <assertion id="gb">
+ <text>For class X which is the bean class of a _session_ bean Y declared
using XML, if X declares an injected field x then Y inherits x, unless Y explicitly
declares x using XML.</text>
+ </assertion>
+
+ <assertion id="ha">
+ <text>For class X which is the bean class of a _simple_ bean Y declared using
XML, if X declares an _initializer method_ x() then Y inherits x(), unless Y explicitly
declares x() using XML</text>
+ </assertion>
+
+ <assertion id="hb">
+ <text>For class X which is the bean class of a _simple_ bean Y declared using
XML, if X declares a _@PostConstruct method_ x() then Y inherits x(), unless Y explicitly
declares x() using XML</text>
+ </assertion>
+
+ <assertion id="hc">
+ <text>For class X which is the bean class of a _simple_ bean Y declared using
XML, if X declares a _@PreDestroy method_ x() then Y inherits x(), unless Y explicitly
declares x() using XML</text>
+ </assertion>
+
+ <assertion id="hd">
+ <text>For class X which is the bean class of a _session_ bean Y declared
using XML, if X declares an _initializer method_ x() then Y inherits x(), unless Y
explicitly declares x() using XML</text>
+ </assertion>
+
+ <assertion id="he">
+ <text>For class X which is the bean class of a _session_ bean Y declared
using XML, if X declares a _@PostConstruct method_ x() then Y inherits x(), unless Y
explicitly declares x() using XML</text>
+ </assertion>
+
+ <assertion id="hf">
+ <text>For class X which is the bean class of a _session_ bean Y declared
using XML, if X declares a _@PreDestroy method_ x() then Y inherits x(), unless Y
explicitly declares x() using XML</text>
+ </assertion>
+
+ <assertion id="ia">
+ <text>For class X which is the bean class of a _simple_ bean Y declared using
XML, if X declares a non-static method x() annotated with an interceptor binding type Z
then Y inherits the binding, unless Y explicitly declares x() using XML.</text>
+ </assertion>
+
+ <assertion id="ib">
+ <text>For class X which is the bean class of a _session_ bean Y declared
using XML, if X declares a non-static method x() annotated with an interceptor binding
type Z then Y inherits the binding, unless Y explicitly declares x() using
XML.</text>
+ </assertion>
+
+ <assertion id="ja">
+ <text>For class X which is the bean class of a _simple_ bean Y declared using
XML, if X declares a non-static _producer method_ x() then Y does not inherit this method,
unless Y is explicitly declared to _specialize_ X.</text>
+ </assertion>
+
+ <assertion id="jb">
+ <text>For class X which is the bean class of a _simple_ bean Y declared using
XML, if X declares a non-static _producer method_ x() then Y does not inherit this method,
unless Y is explicitly declared to _realize_ X.</text>
+ </assertion>
+
+ <assertion id="jc">
+ <text>For class X which is the bean class of a _simple_ bean Y declared using
XML, if X declares a non-static _disposal method_ x() then Y does not inherit this method,
unless Y is explicitly declared to _specialize_ X.</text>
+ </assertion>
+
+ <assertion id="jd">
+ <text>For class X which is the bean class of a _simple_ bean Y declared using
XML, if X declares a non-static _disposal method_ x() then Y does not inherit this method,
unless Y is explicitly declared to _realize_ X.</text>
+ </assertion>
+
+ <assertion id="je">
+ <text>For class X which is the bean class of a _simple_ bean Y declared using
XML, if X declares a non-static _observer method_ x() then Y does not inherit this method,
unless Y is explicitly declared to _specialize_ X.</text>
+ </assertion>
+
+ <assertion id="jf">
+ <text>For class X which is the bean class of a _simple_ bean Y declared using
XML, if X declares a non-static _observer method_ x() then Y does not inherit this method,
unless Y is explicitly declared to _realize_ X.</text>
+ </assertion>
+
+ <assertion id="jg">
+ <text>For class X which is the bean class of a _session_ bean Y declared
using XML, if X declares a non-static _producer method_ x() then Y does not inherit this
method, unless Y is explicitly declared to _specialize_ X.</text>
+ </assertion>
+
+ <assertion id="jh">
+ <text>For class X which is the bean class of a _session_ bean Y declared
using XML, if X declares a non-static _producer method_ x() then Y does not inherit this
method, unless Y is explicitly declared to _realize_ X.</text>
+ </assertion>
+
+ <assertion id="ji">
+ <text>For class X which is the bean class of a _session_ bean Y declared
using XML, if X declares a non-static _disposal method_ x() then Y does not inherit this
method, unless Y is explicitly declared to _specialize_ X.</text>
+ </assertion>
+
+ <assertion id="jj">
+ <text>For class X which is the bean class of a _session_ bean Y declared
using XML, if X declares a non-static _disposal method_ x() then Y does not inherit this
method, unless Y is explicitly declared to _realize_ X.</text>
+ </assertion>
+
+ <assertion id="jk">
+ <text>For class X which is the bean class of a _session_ bean Y declared
using XML, if X declares a non-static _observer method_ x() then Y does not inherit this
method, unless Y is explicitly declared to _specialize_ X.</text>
+ </assertion>
+
+ <assertion id="jl">
+ <text>For class X which is the bean class of a _session_ bean Y declared
using XML, if X declares a non-static _observer method_ x() then Y does not inherit this
method, unless Y is explicitly declared to _realize_ X.</text>
+ </assertion>
+
+ <assertion id="ka">
+ <text>For class X which is the bean class of a _simple_ bean Y declared using
XML, if X declares a non-static producer field x then Y does not inherit this field,
unless Y is explicitly declared to _specialize_ X.</text>
+ </assertion>
+
+ <assertion id="kb">
+ <text>For class X which is the bean class of a _simple_ bean Y declared using
XML, if X declares a non-static producer field x then Y does not inherit this field,
unless Y is explicitly declared to _realize_ X.</text>
+ </assertion>
+
+ <assertion id="kc">
+ <text>For class X which is the bean class of a _session_ bean Y declared
using XML, if X declares a non-static producer field x then Y does not inherit this field,
unless Y is explicitly declared to _specialize_ X.</text>
+ </assertion>
+
+ <assertion id="kd">
+ <text>For class X which is the bean class of a _session_ bean Y declared
using XML, if X declares a non-static producer field x then Y does not inherit this field,
unless Y is explicitly declared to _realize_ X.</text>
+ </assertion>
+
+ <assertion id="la">
+ <text>For class X which is the bean class of a _simple_ bean Y declared using
XML, if Y is a decorator and X declares a delegate attribute x then Y inherits x, unless Y
explicitly declares a delegate attribute using XML.</text>
+ </assertion>
+
+ <assertion id="lb">
+ <text>For class X which is the bean class of a _session_ bean Y declared
using XML, if Y is a decorator and X declares a delegate attribute x then Y inherits x,
unless Y explicitly declares a delegate attribute using XML.</text>
+ </assertion>
</section>
<section id="4.3" title="Specialization">
@@ -2361,10 +2678,14 @@
<text>A bean declared using XML may declare that it realizes a generic class
using the <Realizes> element.</text>
</assertion>
- <assertion id="c">
- <text>If a generic class Y declares a non-static producer method or field
with a certain combination of scope, stereotypes, bindings and interceptor bindings, then
every bean X that realizes Y also has a producer method or field with the same scope,
stereotypes and interceptor bindings. The bindings for this inherited producer method or
field consist of all bindings declared by the producer method or field of Y, excluding all
bindings of Y, together with the bindings declared explicitly by X. The deployment type of
the inherited producer method or field is the deployment type of X</text>
+ <assertion id="ca">
+ <text>If a generic class Y declares a non-static _producer method_ with a
certain combination of scope, stereotypes, bindings and interceptor bindings, then every
bean X that realizes Y also has a _producer method_ with the same scope, stereotypes and
interceptor bindings. The bindings for this inherited _producer method_ consist of all
bindings declared by the _producer method_ of Y, excluding all bindings of Y, together
with the bindings declared explicitly by X. The deployment type of the inherited _producer
method_ is the deployment type of X</text>
</assertion>
+ <assertion id="cb">
+ <text>If a generic class Y declares a non-static _producer field_ with a
certain combination of scope, stereotypes, bindings and interceptor bindings, then every
bean X that realizes Y also has a _producer field_ with the same scope, stereotypes and
interceptor bindings. The bindings for this inherited _producer field_ consist of all
bindings declared by the _producer field_ of Y, excluding all bindings of Y, together with
the bindings declared explicitly by X. The deployment type of the inherited _producer
field_ is the deployment type of X</text>
+ </assertion>
+
<assertion id="d">
<text>If a generic class Y declares a non-static disposal method with a
disposed parameter with a certain combination of bindings, then every bean X that realizes
Y also has a disposal method. The bindings of the disposed parameter of this
inherited disposal method consist of all bindings declared by the disposed parameter of
the disposal method of Y, excluding all bindings of Y, together with the bindings declared
explicitly by X.</text>