Tapestry 5
  1. Tapestry 5
  2. TAP5-76

Provide decorators service matching based on annotations

    Details

    • Type: Improvement Improvement
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: 5.0.15
    • Fix Version/s: None
    • Component/s: None
    • Labels:
      None

      Description

      It would be very useful if we could match services for decoration using the services' annotations. In spite of documentation saying it can be done, it can't:

      Tapestry IoC documentation:

      "Note: It is not possible to decorate the services of the TapestryIOCModule."

      "Note: Another idea will be other ways of matching services: base on inheritance of the service interface and/or based on the presence of particular class annotations on the service interface. None of this has been implemented yet, and can readily be accompllished inside the decorator method (which will return null if it decides the service doesn't need decoration)."

      If you write a @Match("*"), Tapestry-IoC throws an exception telling that you cannot decorate internal Tapestry-IoC services. Therefore, there's no way to select services to decorate using only annotations: we need to match services based on name patterns in all situations.

      A suggestions is the creation of a @MatchAnnotation() annotation.

        Activity

        Thiago H. de Paula Figueiredo created issue -
        Howard M. Lewis Ship made changes -
        Field Original Value New Value
        Fix Version/s 5.1 [ 12312964 ]
        Howard M. Lewis Ship made changes -
        Component/s tapestry-ioc [ 12311284 ]
        Key TAPESTRY-1874 TAP5-76
        Issue Type New Feature [ 2 ] Bug [ 1 ]
        Affects Version/s 5.0.6 [ 12312544 ]
        Fix Version/s 5.1 [ 12312964 ]
        Project Tapestry [ 10573 ] Tapestry 5 [ 12310833 ]
        Howard M. Lewis Ship made changes -
        Affects Version/s 5.0.15 [ 12313429 ]
        Howard M. Lewis Ship made changes -
        Issue Type Bug [ 1 ] Improvement [ 4 ]
        Massimo Lusetti made changes -
        Status Open [ 1 ] Closed [ 6 ]
        Fix Version/s 5.3 [ 12316024 ]
        Resolution Won't Fix [ 2 ]
        Howard M. Lewis Ship made changes -
        Resolution Won't Fix [ 2 ]
        Status Closed [ 6 ] Reopened [ 4 ]
        Assignee Howard M. Lewis Ship [ hlship ]
        Howard M. Lewis Ship made changes -
        Fix Version/s 5.3 [ 12316024 ]
        Howard M. Lewis Ship made changes -
        Status Reopened [ 4 ] Resolved [ 5 ]
        Resolution Unresolved [ 9 ]

          People

          • Assignee:
            Howard M. Lewis Ship
            Reporter:
            Thiago H. de Paula Figueiredo
          • Votes:
            1 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development