Details

    • Type: Bug Bug
    • Status: Open
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: 1.2
    • Fix Version/s: None
    • Labels:
      None

      Description

      The spec says:

      An interceptor binding type can only be applied to an interceptor binding type defining a superset of it's
      target types. For example interceptor binding types declared Target(TYPE) may not be applied to
      interceptor binding types declared Target({TYPE, METHOD}).
      

      Let's have:

      @InterceptorBinding
      @Retention(RUNTIME)
      @Target({METHOD, TYPE})
      @Bar
      public @interface Foo {
      }
      
      @InterceptorBinding
      @Retention(RUNTIME)
      @Target(TYPE)
      public @interface Bar {
      }
      

      The requirement imposed by the specification is met:

      An interceptor binding type can only be applied to an interceptor binding type defining a superset of it's
      target types.

      @Bar is applied on @Foo. The target types of @Foo

      {METHOD, TYPE}

      is a superset of target types defined by @Bar

      {TYPE}

      .

      However, the second part of the paragraph is conflicting:

      For example interceptor binding types declared Target(TYPE) may not be applied to
      interceptor binding types declared Target({TYPE, METHOD})

      I think the original intention had been to say that:

      An interceptor binding type can only be applied to an interceptor binding type defining a subset of it's
      target types.

        Activity

        There are no comments yet on this issue.

          People

          • Assignee:
            marina vatkina
            Reporter:
            Jozef Hartinger
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated: