Class RuntimeModelBuilder
- java.lang.Object
-
- org.glassfish.jersey.server.internal.routing.RuntimeModelBuilder
-
final class RuntimeModelBuilder extends java.lang.ObjectThis is a common base for root resource and sub-resource runtime model builder.
-
-
Field Summary
Fields Modifier and Type Field Description private Value<RuntimeLocatorModelBuilder>locatorBuilderprivate MessageBodyWorkersmessageBodyWorkersprivate ProcessingProvidersprocessingProvidersprivate ResourceMethodInvoker.BuilderresourceMethodInvokerBuilder
-
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 RouterbuildModel(RuntimeResourceModel resourceModel, boolean subResourceMode)Build a runtime model of routers based on theresourceModel.private EndpointcreateInflector(ResourceMethod method)private RoutercreateMethodRouter(ResourceMethod resourceMethod)private java.util.List<MethodRouting>createResourceMethodRouters(RuntimeResource runtimeResource, boolean subResourceMode)private RoutercreateRootRouter(PathMatchingRouterBuilder lastRoutedBuilder, boolean subResourceMode)private ResourcegetLocatorResource(RuntimeResource resource)private PushMatchedTemplateRoutergetTemplateRouter(boolean subResourceMode, UriTemplate parentTemplate, UriTemplate childTemplate)private PushMatchedTemplateRoutergetTemplateRouterForChildLocator(boolean subResourceMode, RuntimeResource child)private PathToRouterBuilderstartNextRoute(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 theresourceModelis 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)
-
-