[cdi-dev] [JBoss JIRA] (CDI-476) Inheritance of private observer and initializer methods
Martin Kouba (JIRA)
issues at jboss.org
Mon Sep 15 09:59:02 EDT 2014
Martin Kouba created CDI-476:
Summary: Inheritance of private observer and initializer methods
Project: CDI Specification Issues
Issue Type: Clarification
Components: Inheritance and Specialization
Affects Versions: 1.2.Final
Reporter: Martin Kouba
Initializer and observer methods may be private. In Java, private members are not inherited. However, the spec is not entirely clear in this area.
"4. Inheritance and specialization"
Member-level metadata is not inherited. However, injected fields, initializer methods, lifecycle callback methods and non-static observer methods are inherited by beans from their superclasses.
"4.2. Inheritance of member-level metadata" (simplified):
* If X declares an initializer or non-static observer 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().
There is no mention we strictly follow the JSL here. At first glance, it seems the private members should not be inherited. However, these may be part of a bean initialization. And what happens if we *specialize* a bean with such private members?
This message was sent by Atlassian JIRA
More information about the cdi-dev