/** * Create new request path pattern matching router builder. * * @param pattern request path matching pattern. * @return new request path pattern matching router builder. */ static PathToRouterBuilder newRoute(final PathPattern pattern) { final PathMatchingRouterBuilder builder = new PathMatchingRouterBuilder(); builder.startNewRoute(pattern); return builder; }
/** * Build a {@link org.glassfish.jersey.server.internal.routing.Router hierarchical request path matching processor}. * * @return hierarchical request path matching processor (i.e. router). */ public PathMatchingRouter build() { return new PathMatchingRouter(acceptedRoutes()); }
private Router createRootRouter(final PathMatchingRouterBuilder lastRoutedBuilder, final boolean subResourceMode) { final Router routingRoot; if (lastRoutedBuilder != null) { routingRoot = lastRoutedBuilder.build(); } else { /* * Create an empty routing root that accepts any request, does not do * anything and does not return any inflector. This will cause 404 being * returned for every request. */ routingRoot = Routers.noop(); } if (subResourceMode) { return routingRoot; } else { return new MatchResultInitializerRouter(routingRoot); } }
currentRouterBuilder = startNextRoute(currentRouterBuilder, PathPattern.END_OF_PATH_PATTERN) .to(resourcePushingRouter) .to(methodSelectingRouter); } else { currentRouterBuilder = startNextRoute(currentRouterBuilder, PathPattern.asClosed(resource.getPathPattern())) .to(uriPushingRouter) .to(resourcePushingRouter) .to(methodSelectingRouter); .to(childResourcePushingRouter) .to(new MethodSelectingRouter(messageBodyWorkers, childMethodRoutings)); .to(locTemplateRouter) .to(childResourcePushingRouter) .to(new PushMatchedMethodRouter(childResource.getResourceLocator())) .to(createMethodRouter(childResource.getResourceLocator())); .to(resourceTemplateRouter) .to(new PushMatchedMethodRouter(resource.getResourceLocator())) .to(createMethodRouter(resource.getResourceLocator())); final Router methodRouter = srRoutedBuilder.build(); .to(methodRouter); } else { currentRouterBuilder = startNextRoute(currentRouterBuilder, resource.getPathPattern()) .to(uriPushingRouter) .to(resourcePushingRouter) .to(methodRouter);
/** * Complete the currently built unfinished sub-route (if any) and start building a new one. * * The completed sub-route is added to the list of the routes accepted by the router that is being built. * * @param pattern routing pattern for the new sub-route. * @return updated router builder. */ public PathToRouterBuilder route(final PathPattern pattern) { startNewRoute(pattern); return this; }
currentRouterBuilder = startNextRoute(currentRouterBuilder, PathPattern.END_OF_PATH_PATTERN) .to(resourcePushingRouter) .to(methodSelectingRouter); } else { currentRouterBuilder = startNextRoute(currentRouterBuilder, PathPattern.asClosed(resource.getPathPattern())) .to(uriPushingRouter) .to(resourcePushingRouter) .to(methodSelectingRouter); .to(childResourcePushingRouter) .to(new MethodSelectingRouter(messageBodyWorkers, childMethodRoutings)); .to(locTemplateRouter) .to(childResourcePushingRouter) .to(new PushMatchedMethodRouter(childResource.getResourceLocator())) .to(createMethodRouter(childResource.getResourceLocator())); .to(resourceTemplateRouter) .to(new PushMatchedMethodRouter(resource.getResourceLocator())) .to(createMethodRouter(resource.getResourceLocator())); final Router methodRouter = srRoutedBuilder.build(); .to(methodRouter); } else { currentRouterBuilder = startNextRoute(currentRouterBuilder, resource.getPathPattern()) .to(uriPushingRouter) .to(resourcePushingRouter) .to(methodRouter);
/** * Complete the currently built unfinished sub-route (if any) and start building a new one. * * The completed sub-route is added to the list of the routes accepted by the router that is being built. * * @param pattern routing pattern for the new sub-route. * @return updated router builder. */ public PathToRouterBuilder route(final PathPattern pattern) { startNewRoute(pattern); return this; }
/** * Create new request path pattern matching router builder. * * @param pattern request path matching pattern. * @return new request path pattern matching router builder. */ static PathToRouterBuilder newRoute(final PathPattern pattern) { final PathMatchingRouterBuilder builder = new PathMatchingRouterBuilder(); builder.startNewRoute(pattern); return builder; }
currentRouterBuilder = startNextRoute(currentRouterBuilder, PathPattern.END_OF_PATH_PATTERN) .to(resourcePushingRouter) .to(methodSelectingRouter); } else { currentRouterBuilder = startNextRoute(currentRouterBuilder, PathPattern.asClosed(resource.getPathPattern())) .to(uriPushingRouter) .to(resourcePushingRouter) .to(methodSelectingRouter); .to(childResourcePushingRouter) .to(new MethodSelectingRouter(messageBodyWorkers, childMethodRoutings)); .to(locTemplateRouter) .to(childResourcePushingRouter) .to(new PushMatchedMethodRouter(childResource.getResourceLocator())) .to(createMethodRouter(childResource.getResourceLocator())); .to(resourceTemplateRouter) .to(new PushMatchedMethodRouter(resource.getResourceLocator())) .to(createMethodRouter(resource.getResourceLocator())); final Router methodRouter = srRoutedBuilder.build(); .to(methodRouter); } else { currentRouterBuilder = startNextRoute(currentRouterBuilder, resource.getPathPattern()) .to(uriPushingRouter) .to(resourcePushingRouter) .to(methodRouter);
/** * Build a {@link org.glassfish.jersey.server.internal.routing.Router hierarchical request path matching processor}. * * @return hierarchical request path matching processor (i.e. router). */ public PathMatchingRouter build() { return new PathMatchingRouter(acceptedRoutes()); }
/** * Complete the currently built unfinished sub-route (if any) and start building a new one. * * The completed sub-route is added to the list of the routes accepted by the router that is being built. * * @param pattern routing pattern for the new sub-route. * @return updated router builder. */ public PathToRouterBuilder route(final PathPattern pattern) { startNewRoute(pattern); return this; }
private Router createRootRouter(final PathMatchingRouterBuilder lastRoutedBuilder, final boolean subResourceMode) { final Router routingRoot; if (lastRoutedBuilder != null) { routingRoot = lastRoutedBuilder.build(); } else { /* * Create an empty routing root that accepts any request, does not do * anything and does not return any inflector. This will cause 404 being * returned for every request. */ routingRoot = Routers.noop(); } if (subResourceMode) { return routingRoot; } else { return new MatchResultInitializerRouter(routingRoot); } }
/** * Create new request path pattern matching router builder. * * @param pattern request path matching pattern. * @return new request path pattern matching router builder. */ static PathToRouterBuilder newRoute(final PathPattern pattern) { final PathMatchingRouterBuilder builder = new PathMatchingRouterBuilder(); builder.startNewRoute(pattern); return builder; }
currentRouterBuilder = startNextRoute(currentRouterBuilder, PathPattern.END_OF_PATH_PATTERN) .to(resourcePushingRouter) .to(methodSelectingRouter); } else { currentRouterBuilder = startNextRoute(currentRouterBuilder, PathPattern.asClosed(resource.getPathPattern())) .to(uriPushingRouter) .to(resourcePushingRouter) .to(methodSelectingRouter); .to(childResourcePushingRouter) .to(new MethodSelectingRouter(workers, childMethodRoutings)); .to(locTemplateRouter) .to(childResourcePushingRouter) .to(new PushMatchedMethodRouter(childResource.getResourceLocator())) .to(createMethodRouter(childResource.getResourceLocator())); .to(resourceTemplateRouter) .to(new PushMatchedMethodRouter(resource.getResourceLocator())) .to(createMethodRouter(resource.getResourceLocator())); final Router methodRouter = srRoutedBuilder.build(); .to(methodRouter); } else { currentRouterBuilder = startNextRoute(currentRouterBuilder, resource.getPathPattern()) .to(uriPushingRouter) .to(resourcePushingRouter) .to(methodRouter);
/** * Build a {@link org.glassfish.jersey.server.internal.routing.Router hierarchical request path matching processor}. * * @return hierarchical request path matching processor (i.e. router). */ public PathMatchingRouter build() { return new PathMatchingRouter(acceptedRoutes()); }
/** * Complete the currently built unfinished sub-route (if any) and start building a new one. * * The completed sub-route is added to the list of the routes accepted by the router that is being built. * * @param pattern routing pattern for the new sub-route. * @return updated router builder. */ public PathToRouterBuilder route(final PathPattern pattern) { startNewRoute(pattern); return this; }