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 java.lang.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<java.lang.Class<? extends java.lang.annotation.Annotation>,ContainerRequestFilter> nameBoundRequestFilters, MultivaluedMap<java.lang.Class<? extends java.lang.annotation.Annotation>,ContainerResponseFilter> nameBoundResponseFilters, MultivaluedMap<java.lang.Class<? extends java.lang.annotation.Annotation>,ReaderInterceptor> nameBoundReaderInterceptors, MultivaluedMap<java.lang.Class<? extends java.lang.annotation.Annotation>,WriterInterceptor> nameBoundWriterInterceptors, java.util.List<DynamicBinder> dynamicBinders)
          Set the name bound filters and dynamic binders.
 void setGlobalInterceptors(java.util.Collection<ReaderInterceptor> readerInterceptors, java.util.Collection<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(java.util.Collection<ReaderInterceptor> readerInterceptors,
                                  java.util.Collection<WriterInterceptor> writerInterceptors)
Set global reader and writer interceptors.

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

setBoundProviders

public void setBoundProviders(MultivaluedMap<java.lang.Class<? extends java.lang.annotation.Annotation>,ContainerRequestFilter> nameBoundRequestFilters,
                              MultivaluedMap<java.lang.Class<? extends java.lang.annotation.Annotation>,ContainerResponseFilter> nameBoundResponseFilters,
                              MultivaluedMap<java.lang.Class<? extends java.lang.annotation.Annotation>,ReaderInterceptor> nameBoundReaderInterceptors,
                              MultivaluedMap<java.lang.Class<? extends java.lang.annotation.Annotation>,WriterInterceptor> nameBoundWriterInterceptors,
                              java.util.List<DynamicBinder> dynamicBinders)
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.
dynamicBinders - dynamic binders.


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