Class RuntimeLocatorModelBuilder
- java.lang.Object
-
- org.glassfish.jersey.server.internal.routing.RuntimeLocatorModelBuilder
-
final class RuntimeLocatorModelBuilder extends java.lang.ObjectBase for sub-resource locator runtime model builder.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classRuntimeLocatorModelBuilder.LocatorCacheKey
-
Field Summary
Fields Modifier and Type Field Description private com.google.common.cache.LoadingCache<RuntimeLocatorModelBuilder.LocatorCacheKey,LocatorRouting>cacheprivate javax.ws.rs.core.Configurationconfigprivate java.util.function.Function<java.lang.Class<?>,?>createServiceFunctionprivate booleandisableValidationprivate booleanenableJerseyResourceCachingprivate booleanignoreValidationErrorsprivate static java.util.logging.LoggerLOGGERprivate MessageBodyWorkersmessageBodyWorkersprivate java.lang.Iterable<ModelProcessor>modelProcessorsprivate JerseyResourceContextresourceContextprivate RuntimeModelBuilderruntimeModelBuilderprivate java.util.Collection<ValueParamProvider>valueSuppliers
-
Constructor Summary
Constructors Constructor Description RuntimeLocatorModelBuilder(javax.ws.rs.core.Configuration config, MessageBodyWorkers messageBodyWorkers, java.util.Collection<ValueParamProvider> valueSuppliers, JerseyResourceContext resourceContext, RuntimeModelBuilder runtimeModelBuilder, java.lang.Iterable<ModelProcessor> modelProcessors, java.util.function.Function<java.lang.Class<?>,?> createServiceFunction)Create a new instance of the runtime model builder for sub-resource locators.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private LocatorRoutingbuildRouting(Resource subResource)private LocatorRoutingcreateRouting(java.lang.Class<?> locatorClass)private ResourceModelenhance(ResourceModel subResourceModel)(package private) RoutergetRouter(ResourceMethod resourceMethod)Obtain a sub-resource locator router for given resource method.(package private) LocatorRoutinggetRouting(java.lang.Class<?> locatorClass)Build (or obtain from cache) a resource model and router for given sub-resource locator class.(package private) LocatorRoutinggetRouting(Resource subresource)Build (or obtain from cache) a resource model and router for given sub-resource injectionManagerresource.(package private) booleanisCached(java.lang.Class<?> srlClass)Check if the model builder contains a cached [locator, router] pair for a given sub-resource locator class.private voidvalidateResource(ResourceModelComponent component)private voidvalidateSubResource(ResourceModel subResourceModel)
-
-
-
Field Detail
-
LOGGER
private static final java.util.logging.Logger LOGGER
-
config
private final javax.ws.rs.core.Configuration config
-
runtimeModelBuilder
private final RuntimeModelBuilder runtimeModelBuilder
-
messageBodyWorkers
private final MessageBodyWorkers messageBodyWorkers
-
valueSuppliers
private final java.util.Collection<ValueParamProvider> valueSuppliers
-
resourceContext
private final JerseyResourceContext resourceContext
-
modelProcessors
private final java.lang.Iterable<ModelProcessor> modelProcessors
-
createServiceFunction
private final java.util.function.Function<java.lang.Class<?>,?> createServiceFunction
-
cache
private final com.google.common.cache.LoadingCache<RuntimeLocatorModelBuilder.LocatorCacheKey,LocatorRouting> cache
-
disableValidation
private final boolean disableValidation
-
ignoreValidationErrors
private final boolean ignoreValidationErrors
-
enableJerseyResourceCaching
private final boolean enableJerseyResourceCaching
-
-
Constructor Detail
-
RuntimeLocatorModelBuilder
RuntimeLocatorModelBuilder(javax.ws.rs.core.Configuration config, MessageBodyWorkers messageBodyWorkers, java.util.Collection<ValueParamProvider> valueSuppliers, JerseyResourceContext resourceContext, RuntimeModelBuilder runtimeModelBuilder, java.lang.Iterable<ModelProcessor> modelProcessors, java.util.function.Function<java.lang.Class<?>,?> createServiceFunction)Create a new instance of the runtime model builder for sub-resource locators.- Parameters:
config- configuration of the application.messageBodyWorkers- message body workers registred in an application.valueSuppliers- all value registered value providers.resourceContext- resource context to bind sub-resource locator singleton instances.runtimeModelBuilder- runtime model builder to build routers for locator models.modelProcessors- all registered model processors.createServiceFunction- function that is able to create and initialize new service.
-
-
Method Detail
-
getRouter
Router getRouter(ResourceMethod resourceMethod)
Obtain a sub-resource locator router for given resource method.- Parameters:
resourceMethod- resource method to obtain the router for.- Returns:
- sub-resource locator router.
-
getRouting
LocatorRouting getRouting(java.lang.Class<?> locatorClass)
Build (or obtain from cache) a resource model and router for given sub-resource locator class.- Parameters:
locatorClass- sub-resource locator class to built model and router for.- Returns:
- [locator, router] pair with built model and router for sub-resource locator.
-
getRouting
LocatorRouting getRouting(Resource subresource)
Build (or obtain from cache) a resource model and router for given sub-resource injectionManagerresource.- Parameters:
subresource- sub-resource injectionManager resource to built model and router for.- Returns:
- [injectionManager, router] pair with built model and router for sub-resource injectionManager.
-
isCached
boolean isCached(java.lang.Class<?> srlClass)
Check if the model builder contains a cached [locator, router] pair for a given sub-resource locator class.- Parameters:
srlClass- sub-resource locator class.- Returns:
trueif the [locator, router] pair for the sub-resource locator class is present in the cache,falseotherwise.
-
createRouting
private LocatorRouting createRouting(java.lang.Class<?> locatorClass)
-
buildRouting
private LocatorRouting buildRouting(Resource subResource)
-
validateResource
private void validateResource(ResourceModelComponent component)
-
enhance
private ResourceModel enhance(ResourceModel subResourceModel)
-
validateSubResource
private void validateSubResource(ResourceModel subResourceModel)
-
-