Class RuntimeModelBuilder
- java.lang.Object
-
- org.glassfish.jersey.server.internal.routing.RuntimeModelBuilder
-
final class RuntimeModelBuilder extends java.lang.Object
This is a common base for root resource and sub-resource runtime model builder.
-
-
Field Summary
Fields Modifier and Type Field Description private Value<RuntimeLocatorModelBuilder>
locatorBuilder
private MessageBodyWorkers
messageBodyWorkers
private ProcessingProviders
processingProviders
private ResourceMethodInvoker.Builder
resourceMethodInvokerBuilder
-
Constructor Summary
Constructors Constructor Description RuntimeModelBuilder(JerseyResourceContext resourceContext, javax.ws.rs.core.Configuration config, MessageBodyWorkers messageBodyWorkers, java.util.Collection<ValueParamProvider> valueSuppliers, ProcessingProviders processingProviders, ResourceMethodInvoker.Builder resourceMethodInvokerBuilder, java.lang.Iterable<ModelProcessor> modelProcessors, java.util.function.Function<java.lang.Class<?>,?> createServiceFunction)
Create a new instance of the runtime model builder.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Router
buildModel(RuntimeResourceModel resourceModel, boolean subResourceMode)
Build a runtime model of routers based on theresourceModel
.private Endpoint
createInflector(ResourceMethod method)
private Router
createMethodRouter(ResourceMethod resourceMethod)
private java.util.List<MethodRouting>
createResourceMethodRouters(RuntimeResource runtimeResource, boolean subResourceMode)
private Router
createRootRouter(PathMatchingRouterBuilder lastRoutedBuilder, boolean subResourceMode)
private Resource
getLocatorResource(RuntimeResource resource)
private PushMatchedTemplateRouter
getTemplateRouter(boolean subResourceMode, UriTemplate parentTemplate, UriTemplate childTemplate)
private PushMatchedTemplateRouter
getTemplateRouterForChildLocator(boolean subResourceMode, RuntimeResource child)
private PathToRouterBuilder
startNextRoute(PathMatchingRouterBuilder currentRouterBuilder, PathPattern routingPattern)
-
-
-
Field Detail
-
resourceMethodInvokerBuilder
private final ResourceMethodInvoker.Builder resourceMethodInvokerBuilder
-
messageBodyWorkers
private final MessageBodyWorkers messageBodyWorkers
-
processingProviders
private final ProcessingProviders processingProviders
-
locatorBuilder
private final Value<RuntimeLocatorModelBuilder> locatorBuilder
-
-
Constructor Detail
-
RuntimeModelBuilder
public RuntimeModelBuilder(JerseyResourceContext resourceContext, javax.ws.rs.core.Configuration config, MessageBodyWorkers messageBodyWorkers, java.util.Collection<ValueParamProvider> valueSuppliers, ProcessingProviders processingProviders, ResourceMethodInvoker.Builder resourceMethodInvokerBuilder, java.lang.Iterable<ModelProcessor> modelProcessors, java.util.function.Function<java.lang.Class<?>,?> createServiceFunction)
Create a new instance of the runtime model builder.- Parameters:
resourceContext
- Jersey resource context.config
- configuration of the application.messageBodyWorkers
- message body messageBodyWorkers.processingProviders
- processing providers.resourceMethodInvokerBuilder
- method invoker builder.modelProcessors
- all registered model processors.createServiceFunction
- function that is able to create and initialize new service.
-
-
Method Detail
-
createMethodRouter
private Router createMethodRouter(ResourceMethod resourceMethod)
-
createInflector
private Endpoint createInflector(ResourceMethod method)
-
createRootRouter
private Router createRootRouter(PathMatchingRouterBuilder lastRoutedBuilder, boolean subResourceMode)
-
buildModel
public Router buildModel(RuntimeResourceModel resourceModel, boolean subResourceMode)
Build a runtime model of routers based on theresourceModel
.- Parameters:
resourceModel
- Resource model from which the runtime model should be built.subResourceMode
- True if theresourceModel
is a sub resource model returned from sub resource locator.- Returns:
- Root router of the router structure representing the resource model.
-
getTemplateRouterForChildLocator
private PushMatchedTemplateRouter getTemplateRouterForChildLocator(boolean subResourceMode, RuntimeResource child)
-
getTemplateRouter
private PushMatchedTemplateRouter getTemplateRouter(boolean subResourceMode, UriTemplate parentTemplate, UriTemplate childTemplate)
-
getLocatorResource
private Resource getLocatorResource(RuntimeResource resource)
-
createResourceMethodRouters
private java.util.List<MethodRouting> createResourceMethodRouters(RuntimeResource runtimeResource, boolean subResourceMode)
-
startNextRoute
private PathToRouterBuilder startNextRoute(PathMatchingRouterBuilder currentRouterBuilder, PathPattern routingPattern)
-
-