Uploaded image for project: 'Tools (JBoss Tools)'
  1. Tools (JBoss Tools)
  2. JBIDE-13419

Support invocation handler binding extension of Deltaspike

    Details

      Description

      Objects:
      1. Binding Annotations - annotation type with @PartialBeanBinding.
      2. Partial Beans - abstract classes and interfaces annotated with a binding annotation.
      3. Invocation Handlers - classes inplementing InvocationHandler and annotated with a binding annotation.

      Validation rules:
      1. Class annotated with a binding annotation should be either abstract, or interface, or implement InvocationHandler.
      Error text: "Binding annotation %annotationName% can be applied only to abstract classes, interfaces, and classes implementing InvocationHandler."
      2. There should be no more than one invocation handler for each binding annotation.
      Error text: "Multiple handlers are found for binding annotation %annotationName%."
      3. Invocation handler class should be normal-scoped.
      Error text: "Invocation handler class should be a normal-scoped bean."
      4. Each partial bean should be bound to an invocation handler.
      Error text: "Partial bean %className% should have an invocation handler for binding annotation %annotationName%."

      5. Deltaspike implementation of the extension reads the first binding annotation on a class and ignores the next ones. Hence, they should be marked with a warning:
      "Binding annotation %annotationName% is ignored because class is already annotated with binding annotation %firstAnnotationName%."

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  scabanovich Viacheslav Kabanovich
                  Reporter:
                  scabanovich Viacheslav Kabanovich
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  2 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: