Package ninja

Class RouterImpl

  • All Implemented Interfaces:
    Router

    public class RouterImpl
    extends Object
    implements Router
    • Constructor Detail

      • RouterImpl

        @Inject
        public RouterImpl​(com.google.inject.Injector injector,
                          NinjaProperties ninjaProperties,
                          WebSockets webSockets,
                          com.google.inject.Provider<RouteBuilderImpl> routeBuilderImplProvider)
    • Method Detail

      • getRouteFor

        public Route getRouteFor​(String httpMethod,
                                 String uri)
        Description copied from interface: Router
        Get the route for the given method and URI
        Specified by:
        getRouteFor in interface Router
        Parameters:
        httpMethod - The method
        uri - The URI
        Returns:
        The route
      • getReverseRoute

        public String getReverseRoute​(Class<?> controllerClass,
                                      String controllerMethodName)
        Description copied from interface: Router
        Retrieves the reverse route for this controllerClass and method. Does not work with routes that contain placeholders. Use Router.getReverseRoute(Class, String, Map) in that case
        Specified by:
        getReverseRoute in interface Router
        Parameters:
        controllerClass - The controllerClass e.g. ApplicationController.class
        controllerMethodName - the methodName of the class e.g. "index"
        Returns:
        The final url (without server, and without any prefixes)
      • getReverseRoute

        public String getReverseRoute​(Class<?> controllerClass,
                                      String controllerMethodName,
                                      Object... parameterMap)
        Description copied from interface: Router
        Retrieves the reverse route for this controllerClass and method. The map contains pairs of url parameters. Eg. a raw route like "/person/{id} will become /person/1 when the map contains a pair like "id, "1".
        Specified by:
        getReverseRoute in interface Router
        Parameters:
        controllerClass - The controllerClass e.g. ApplicationController.class
        controllerMethodName - the methodName of the class e.g. "index"
        parameterMap - The map containing pairs with replacements for placeholders. Always supply key and value pairs. Key as strings, Values as objects. To get the value "toString()" is called on the object. Make sure that works for your object or simply use a String. If the raw uri does not contain the placeholders they will be added as query parameters ?key=value&key2=value2 and so on
        Returns:
        The final url (without server, and without any prefixes)
      • getReverseRoute

        public String getReverseRoute​(Class<?> controllerClass,
                                      String controllerMethodName,
                                      Map<String,​Object> parameterMap)
        Description copied from interface: Router
        Retrieves the reverse route for this controllerClass and method. The map contains pairs of url parameters. Eg. a raw route like "/person/{id} will become /person/1 when the map contains a pair like "id, "1".
        Specified by:
        getReverseRoute in interface Router
        Parameters:
        controllerClass - The controllerClass e.g. ApplicationController.class
        controllerMethodName - the methodName of the class e.g. "index"
        Returns:
        The final url (without server, and without any prefixes)
      • getReverseRoute

        public String getReverseRoute​(Class<?> controllerClass,
                                      String controllerMethodName,
                                      Optional<Map<String,​Object>> parameterMap)
        Description copied from interface: Router
        Retrieves the reverse route for this controllerClass and method. The map contains pairs of url parameters. Eg. a raw route like "/person/{id} will become /person/1 when the map contains a pair like "id, "1".
        Specified by:
        getReverseRoute in interface Router
        parameterMap - An optinal map containing pairs with replacements for placeholders. Always supply key and value pairs. Key as strings, Values as objects. To get the value "toString()" is called on the object. Make sure that works for your object or simply use a String. If the raw uri does not contain the placeholders they will be added as query parameters ?key=value&key2=value2 and so on
        Returns:
        The final url (without server, and without any prefixes)
      • compileRoutes

        public void compileRoutes()
        Description copied from interface: Router
        Compile all the routes that have been registered with the router. This should be called once, during initialization, before the application starts serving requests.
        Specified by:
        compileRoutes in interface Router
      • getRoutes

        public List<Route> getRoutes()
        Description copied from interface: Router
        Returns the list of compiled routes.
        Specified by:
        getRoutes in interface Router
      • METHOD

        public RouteBuilder METHOD​(String method)
        Description copied from interface: Router
        To match any http method. E.g. METHOD("PROPFIND") would route PROPFIND methods.
        Specified by:
        METHOD in interface Router
        Parameters:
        method - The http method like "GET" or "PROPFIND"
        Returns:
        the routeBuilder for chaining.