[cdi-dev] CDI-508 - Which java classes can be managed beans

John D. Ament john.d.ament at gmail.com
Wed May 4 08:16:03 EDT 2016


Then I'm +1 on this change as well.

And no, I don't believe concrete class is defined.  Granted this is Java
8's JLS: https://docs.oracle.com/javase/specs/jls/se8/html/jls-8.html

John

On Wed, May 4, 2016 at 8:11 AM Martin Kouba <mkouba at redhat.com> wrote:

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


More information about the cdi-dev mailing list