org.glassfish.jersey.server.internal.routing
Class RuntimeModelBuilder

java.lang.Object
  extended by org.glassfish.jersey.server.internal.routing.RuntimeModelBuilder

public final class RuntimeModelBuilder
extends Object

This is a common base for root resource and sub-resource runtime model builder.

Author:
Marek Potociar (marek.potociar at oracle.com)

Constructor Summary
RuntimeModelBuilder(RouterBinder.RootRouteBuilder<PathPattern> rootBuilder, ResourceMethodInvoker.Builder resourceMethodInvokerBuilder, ServiceLocator locator, org.glassfish.jersey.server.internal.routing.PushMethodHandlerRouter.Builder pushHandlerAcceptorBuilder, org.glassfish.jersey.server.internal.routing.MethodSelectingRouter.Builder methodSelectingAcceptorBuilder, MessageBodyWorkers workers)
          Injection constructor.
 
Method Summary
 Router buildModel(boolean subResourceMode)
          Build a runtime model.
 RuntimeModelBuilder copy()
          Create a copy of the runtime model builder.
 void process(Resource resource, boolean subResourceMode)
          Process a single resource model and add it to the currently build runtime routing and accepting model.
 void setBoundProviders(MultivaluedMap<Class<? extends Annotation>,RankedProvider<ContainerRequestFilter>> nameBoundRequestFilters, MultivaluedMap<Class<? extends Annotation>,RankedProvider<ContainerResponseFilter>> nameBoundResponseFilters, MultivaluedMap<Class<? extends Annotation>,RankedProvider<ReaderInterceptor>> nameBoundReaderInterceptors, MultivaluedMap<Class<? extends Annotation>,RankedProvider<WriterInterceptor>> nameBoundWriterInterceptors, Iterable<DynamicFeature> dynamicFeatures)
          Set the name bound filters and dynamic binders.
 void setGlobalInterceptors(Iterable<RankedProvider<ReaderInterceptor>> readerInterceptors, Iterable<RankedProvider<WriterInterceptor>> writerInterceptors)
          Set global reader and writer interceptors.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RuntimeModelBuilder

@Inject
public RuntimeModelBuilder(RouterBinder.RootRouteBuilder<PathPattern> rootBuilder,
                                  ResourceMethodInvoker.Builder resourceMethodInvokerBuilder,
                                  ServiceLocator locator,
                                  org.glassfish.jersey.server.internal.routing.PushMethodHandlerRouter.Builder pushHandlerAcceptorBuilder,
                                  org.glassfish.jersey.server.internal.routing.MethodSelectingRouter.Builder methodSelectingAcceptorBuilder,
                                  MessageBodyWorkers workers)
Injection constructor.

Parameters:
rootBuilder - root router builder.
resourceMethodInvokerBuilder - method invoker builder.
locator - HK2 service locator.
pushHandlerAcceptorBuilder - push handler acceptor builder.
methodSelectingAcceptorBuilder - method selecting acceptor builder.
workers - message body workers.
Method Detail

copy

public RuntimeModelBuilder copy()
Create a copy of the runtime model builder.

Returns:
copy of the runtime model builder.

process

public void process(Resource resource,
                    boolean subResourceMode)
Process a single resource model and add it to the currently build runtime routing and accepting model.

Parameters:
resource - resource model to be processed.
subResourceMode - if true, all resources will be processed as sub-resources.

buildModel

public Router buildModel(boolean subResourceMode)
Build a runtime model.

Parameters:
subResourceMode - if true, all resources will be processed as sub-resources.
Returns:
runtime request routing root.

setGlobalInterceptors

public void setGlobalInterceptors(Iterable<RankedProvider<ReaderInterceptor>> readerInterceptors,
                                  Iterable<RankedProvider<WriterInterceptor>> writerInterceptors)
Set global reader and writer interceptors.

Parameters:
readerInterceptors - global reader interceptors.
writerInterceptors - global writer interceptors.

setBoundProviders

public void setBoundProviders(MultivaluedMap<Class<? extends Annotation>,RankedProvider<ContainerRequestFilter>> nameBoundRequestFilters,
                              MultivaluedMap<Class<? extends Annotation>,RankedProvider<ContainerResponseFilter>> nameBoundResponseFilters,
                              MultivaluedMap<Class<? extends Annotation>,RankedProvider<ReaderInterceptor>> nameBoundReaderInterceptors,
                              MultivaluedMap<Class<? extends Annotation>,RankedProvider<WriterInterceptor>> nameBoundWriterInterceptors,
                              Iterable<DynamicFeature> dynamicFeatures)
Set the name bound filters and dynamic binders.

Parameters:
nameBoundRequestFilters - name bound request filters.
nameBoundResponseFilters - name bound response filters.
nameBoundReaderInterceptors - name bound reader interceptors.
nameBoundWriterInterceptors - name bound writer interceptors.
dynamicFeatures - dynamic features.


Copyright © 2007-2012 Oracle Corporation. All Rights Reserved. Use is subject to license terms.