You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by "Tom van Dijk (JIRA)" <ji...@apache.org> on 2011/07/27 02:13:09 UTC

[jira] [Updated] (TAP5-1321) Add getService(Class serviceInterface, Class... markers) to ObjectLocator interface

     [ https://issues.apache.org/jira/browse/TAP5-1321?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Tom van Dijk updated TAP5-1321:
-------------------------------

    Description: 
It is useful to be able to get a service using just the interface class and the markers.

Attached patch will add the method "<T> T getService(Class<T> interface, Class... markers)" to the ObjectLocator interface. In order to allow using the "@Local" marker, callers can also use the module builder class (e.g. MyModule.class") as a marker.

The patch also adds the method "<T> T getService(Class<T> interface, Module localModule, Class... markers)" to the InternalRegistry interface, which is used by ObjectLocatorImpl (it has access to the internal Module object)

  was:
For the implementation of tapestry-hibernate with multiple databases I need to be able to get a service by interface+markers instead of service id. 

Attached patch will add the method "<T> T getService(Class<T> interface, Class... markers)" to the ObjectLocator interface and various implementations. 


> Add getService(Class serviceInterface, Class... markers) to ObjectLocator interface
> -----------------------------------------------------------------------------------
>
>                 Key: TAP5-1321
>                 URL: https://issues.apache.org/jira/browse/TAP5-1321
>             Project: Tapestry 5
>          Issue Type: Improvement
>          Components: tapestry-ioc
>            Reporter: Tom van Dijk
>            Assignee: Igor Drobiazko
>
> It is useful to be able to get a service using just the interface class and the markers.
> Attached patch will add the method "<T> T getService(Class<T> interface, Class... markers)" to the ObjectLocator interface. In order to allow using the "@Local" marker, callers can also use the module builder class (e.g. MyModule.class") as a marker.
> The patch also adds the method "<T> T getService(Class<T> interface, Module localModule, Class... markers)" to the InternalRegistry interface, which is used by ObjectLocatorImpl (it has access to the internal Module object)

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira