Class BaseRouterProvider

  • All Implemented Interfaces:
    RestletProvider, RouterProvider

    public class BaseRouterProvider
    extends BaseRestletProvider
    implements RouterProvider
    This class provides an implementation of RouterProvider. You register this class as an OSGi declarative service. The service declaration should look like:

     
     <?xml version="1.0" encoding="UTF-8"?>
     <scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" immediate="true" name="org.example.app.router">
       <implementation class="org.restlet.ext.osgi.BaseRouterProvider"/>
       <service>
         <provide interface="org.restlet.ext.osgi.RouterProvider"/>
       </service>
     </scr:component>
     
     

    The referenced services are:

    • FilterProvider - optional - policy="static" cardinality="1..1"
    • DefaultResourceProvider - optional - policy="dynamic" cardinality="0..1"
    • DefaultRouterProvider - optional - policy="dynamic" cardinality="0..1"
    • DirectoryProvider - optional - policy="dynamic" cardinality="0..n"
    • ResourceProvider - optional - policy="dynamic" cardinality="0..n"

    The provided services are:

    • FilterProvider

    Author:
    Bryan Hunt
    • Constructor Detail

      • BaseRouterProvider

        public BaseRouterProvider()
    • Method Detail

      • bindDefaultResourceProvider

        public void bindDefaultResourceProvider​(ResourceProvider resourceProvider)
        Called by OSGi DS to inject the default resource provider service
        Parameters:
        resourceProvider - the default resource provider
      • bindDefaultRouterProvider

        public void bindDefaultRouterProvider​(RouterProvider routerProvider)
        Called by OSGi DS to inject the default router provider service
        Parameters:
        routerProvider - the default router provider
      • bindDirectoryProvider

        public void bindDirectoryProvider​(DirectoryProvider directoryProvider)
        Called by OSGi DS to inject the directory provider service
        Parameters:
        directoryProvider - the directory provider
      • bindResourceProvider

        public void bindResourceProvider​(ResourceProvider resourceProvider)
        Called by OSGi DS to inject the resource provider service
        Parameters:
        resourceProvider - the resource provider
      • createRouter

        protected org.restlet.routing.Router createRouter​(org.restlet.Context context)
        Parameters:
        the - restlet application context
        Returns:
        the newly created router instance
      • getFilteredRestlet

        protected org.restlet.Restlet getFilteredRestlet()
        Description copied from class: BaseRestletProvider
        Called by getInboundRoot() to determine the filtered restlet that is next in the chain.
        Specified by:
        getFilteredRestlet in class BaseRestletProvider
        Returns:
        the restlet to be filtered
      • getInboundRoot

        public org.restlet.Restlet getInboundRoot​(org.restlet.Context context)
        Specified by:
        getInboundRoot in interface RestletProvider
        Overrides:
        getInboundRoot in class BaseRestletProvider
        Parameters:
        context - the Restlet application context
        Returns:
        the node to be used as the inbound root of the handling chain
      • unbindDefaultResourceProvider

        public void unbindDefaultResourceProvider​(ResourceProvider resourceProvider)
        Called by OSGi DS to un-inject the default resource provider service
        Parameters:
        resourceProvider - the default resource provider
      • unbindDefaultRouterProvider

        public void unbindDefaultRouterProvider​(RouterProvider routerProvider)
        Called by OSGi DS to un-inject the default router provider service
        Parameters:
        routerProvider - the default router provider
      • unbindDirectoryProvider

        public void unbindDirectoryProvider​(DirectoryProvider directoryProvider)
        Called by OSGi DS to un-inject the directory provider service
        Parameters:
        directoryProvider - the directory provider
      • unbindResourceProvider

        public void unbindResourceProvider​(ResourceProvider resourceProvider)
        Called by OSGi DS to un-inject the resource provider service
        Parameters:
        resourceProvider - the resource provider