Class RuntimeModelBuilder
java.lang.Object
org.glassfish.jersey.server.internal.routing.RuntimeModelBuilder
This is a common base for root resource and sub-resource runtime model
builder.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final Value<RuntimeLocatorModelBuilder>
private final MessageBodyWorkers
private final ProcessingProviders
private final ResourceMethodInvoker.Builder
-
Constructor Summary
ConstructorsConstructorDescriptionRuntimeModelBuilder
(JerseyResourceContext resourceContext, javax.ws.rs.core.Configuration config, MessageBodyWorkers messageBodyWorkers, Collection<ValueParamProvider> valueSuppliers, ProcessingProviders processingProviders, ResourceMethodInvoker.Builder resourceMethodInvokerBuilder, Iterable<ModelProcessor> modelProcessors, Function<Class<?>, ?> createServiceFunction) Create a new instance of the runtime model builder. -
Method Summary
Modifier and TypeMethodDescriptionbuildModel
(RuntimeResourceModel resourceModel, boolean subResourceMode) Build a runtime model of routers based on theresourceModel
.private Endpoint
createInflector
(ResourceMethod method) private Router
createMethodRouter
(ResourceMethod resourceMethod) private 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 Details
-
resourceMethodInvokerBuilder
-
messageBodyWorkers
-
processingProviders
-
locatorBuilder
-
-
Constructor Details
-
RuntimeModelBuilder
public RuntimeModelBuilder(JerseyResourceContext resourceContext, javax.ws.rs.core.Configuration config, MessageBodyWorkers messageBodyWorkers, Collection<ValueParamProvider> valueSuppliers, ProcessingProviders processingProviders, ResourceMethodInvoker.Builder resourceMethodInvokerBuilder, Iterable<ModelProcessor> modelProcessors, Function<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 Details
-
createMethodRouter
-
createInflector
-
createRootRouter
private Router createRootRouter(PathMatchingRouterBuilder lastRoutedBuilder, boolean subResourceMode) -
buildModel
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
-
createResourceMethodRouters
private List<MethodRouting> createResourceMethodRouters(RuntimeResource runtimeResource, boolean subResourceMode) -
startNextRoute
private PathToRouterBuilder startNextRoute(PathMatchingRouterBuilder currentRouterBuilder, PathPattern routingPattern)
-