Uploaded image for project: 'Forge'
  1. Forge
  2. FORGE-1880

Being able to add @Named to an EJBs... or any annotation anywhere

    XMLWordPrintable

Details

    • Feature Request
    • Resolution: Done
    • Major
    • 2.7.0.Final
    • 2.6.0.Final
    • Java EE
    • None

    Description

      When I create an EJB with Forge with the following command :

      ejb-new-bean --named MyService
      

      I get the following :

      @Stateless
      @LocalBean
      public class MyService implements Serializable
      

      In some cases, I would need to add an extra @Named annotation. Several ways to do it. On the EJB command itself, we could add a parameter :

      ejb-new-bean --named MyService --addNamed
      

      But I think it would be good to have something more generic that could be used anywhere. We could use the same logic as constraint-add (that adds any kind of constraint on any Entity) and have something like

      cdi-add-qualifier --qualifier Named --target org.app.service.MyService
      // or on a property, which could be useful
      cdi-add-qualifier --qualifier Named --onProperty myProp
      cdi-add-qualifier --qualifier Named --onMethod myMethod
      

      Or something even more generic would be to use the Java command

      java-add-annotation --annotation javax.inject.Named --target org.app.service.MyService
      java-add-annotation --annotation javax.inject.Named --target org.app.service.MyService --onProperty myProp
      java-add-annotation --annotation javax.inject.Named --target org.app.service.MyService --onMethod myMethod
      java-add-annotation --annotation javax.inject.Named --onProperty myProp
      java-add-annotation --annotation javax.inject.Named --onMethod myMethod
      

      Comments on the mailing list by Ivan

      I think that java-add-annotation is a good command that we should have. But still it would be better to have also something more explicit for creating named beans and setting stereotypes. So, I think that the three levels of abstraction that Antonio described may be implemented. Well, at the end they will reuse one and the same code for adding annotation, so no repeating ourselves will occur.

      Attachments

        Issue Links

          Activity

            People

              robert@balent.cz Robert Balent (Inactive)
              agoncal Antonio Goncalves (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: