<div dir="ltr">Just to confirm (because negatives always make things harder to digest)<div><br></div><div>An abstract class annotated Decorator is a managed bean - correct?</div><div><br></div><div>Because of this line: <span style="color:rgb(33,33,33);font-size:13px">It is a non-abstract class, or is annotated `@Decorator`.</span></div><div><font color="#212121"><br></font></div><div><font color="#212121">John<br></font><br><div class="gmail_quote"><div dir="ltr">On Wed, May 4, 2016 at 3:12 AM Tomas Remes &lt;<a href="mailto:tremes@redhat.com">tremes@redhat.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
Hi,<br>
<br>
Yes this proposal is sufficient and reads better. I can change my PR if there aren&#39;t any further objections?<br>
<br>
Thank&#39;s<br>
Tom<br>
<br>
----- Original Message -----<br>
From: &quot;Martin Kouba&quot; &lt;<a href="mailto:mkouba@redhat.com" target="_blank">mkouba@redhat.com</a>&gt;<br>
To: &quot;John D. Ament&quot; &lt;<a href="mailto:john.d.ament@gmail.com" target="_blank">john.d.ament@gmail.com</a>&gt;, <a href="mailto:cdi-dev@lists.jboss.org" target="_blank">cdi-dev@lists.jboss.org</a><br>
Sent: Wednesday, May 4, 2016 8:12:44 AM<br>
Subject: Re: [cdi-dev] CDI-508 - Which java classes can be managed beans<br>
<br>
Hi all,<br>
<br>
given that local and anonymous classes are special kinds of inner<br>
classes, we could also simply change the sentence to:<br>
<br>
&quot;It is not an inner class.&quot;<br>
<br>
Anyway, I think the change of the first sentence is much more important,<br>
i.e. removing the &quot;top-level&quot;...<br>
<br>
Maybe we should also remove &quot;top-level&quot; from the next sentence:<br>
&quot;It is a top-level non-abstract class, or is annotated `@Decorator`.&quot;<br>
<br>
So that we would end up with:<br>
<br>
A Java class is a managed bean if it meets all of the following conditions:<br>
* It is not an inner class.<br>
* It is a non-abstract class, or is annotated `@Decorator`.<br>
* It does not implement `javax.enterprise.inject.spi.Extension`.<br>
* It is not annotated `@Vetoed` or in a package annotated `@Vetoed`.<br>
* It has an appropriate constructor - either:<br>
<br>
What do you think?<br>
<br>
Martin<br>
<br>
<br>
Dne 4.5.2016 v 02:32 John D. Ament napsal(a):<br>
&gt; All,<br>
&gt;<br>
&gt; I think I had an action item to get this clarified, not 100% sure, but<br>
&gt; let me give this a shot.<br>
&gt;<br>
&gt; Tomas raised a PR for CDI-508 to clarify which classes are meant to be<br>
&gt; managed beans.  You can find that PR here:<br>
&gt; <a href="https://github.com/cdi-spec/cdi/pull/282/" rel="noreferrer" target="_blank">https://github.com/cdi-spec/cdi/pull/282/</a><br>
&gt;<br>
&gt; The line that doesn&#39;t sound right to me in the change is to go from:<br>
&gt;<br>
&gt; It is not a non-static inner class.<br>
&gt;<br>
&gt; to<br>
&gt;<br>
&gt; It is not a non-static nested class.<br>
&gt;<br>
&gt; I&#39;ll use the java programming language tutorial as a point of reference,<br>
&gt; you can read the page I&#39;ll refer to here:<br>
&gt; <a href="https://docs.oracle.com/javase/tutorial/java/javaOO/nested.html" rel="noreferrer" target="_blank">https://docs.oracle.com/javase/tutorial/java/javaOO/nested.html</a><br>
&gt;<br>
&gt; Basically, non-static nested classes are AKA inner classes.  The term<br>
&gt; &quot;non-static inner class&quot; shouldn&#39;t exist, and that means the original<br>
&gt; text doesn&#39;t make sense, and should probably be inferred as &quot;It is not<br>
&gt; an inner class&quot;<br>
&gt;<br>
&gt;  From reading this part of the spec, it becomes unreadable due to the<br>
&gt; double negative (probably why the aka exists).  My proposal was to<br>
&gt; change the line to instead read (in a positive way) &quot;It is a static<br>
&gt; nested class&quot; but I can also understand if we want to do this in an<br>
&gt; exclusion pattern rather than an inclusion pattern.<br>
&gt;<br>
&gt; Thoughts?<br>
&gt;<br>
&gt; John<br>
&gt;<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; cdi-dev mailing list<br>
&gt; <a href="mailto:cdi-dev@lists.jboss.org" target="_blank">cdi-dev@lists.jboss.org</a><br>
&gt; <a href="https://lists.jboss.org/mailman/listinfo/cdi-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/mailman/listinfo/cdi-dev</a><br>
&gt;<br>
&gt; Note that for all code provided on this list, the provider licenses the code under the Apache License, Version 2 (<a href="http://www.apache.org/licenses/LICENSE-2.0.html" rel="noreferrer" target="_blank">http://www.apache.org/licenses/LICENSE-2.0.html</a>). For all other ideas provided on this list, the provider waives all patent and other intellectual property rights inherent in such information.<br>
&gt;<br>
<br>
--<br>
Martin Kouba<br>
Software Engineer<br>
Red Hat, Czech Republic<br>
_______________________________________________<br>
cdi-dev mailing list<br>
<a href="mailto:cdi-dev@lists.jboss.org" target="_blank">cdi-dev@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/cdi-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/mailman/listinfo/cdi-dev</a><br>
<br>
Note that for all code provided on this list, the provider licenses the code under the Apache License, Version 2 (<a href="http://www.apache.org/licenses/LICENSE-2.0.html" rel="noreferrer" target="_blank">http://www.apache.org/licenses/LICENSE-2.0.html</a>). For all other ideas provided on this list, the provider waives all patent and other intellectual property rights inherent in such information.<br>
<br>
<br>
<br>
</blockquote></div></div></div>