Class RequestBatcher<F extends RequestFactory,C extends RequestContext>
- java.lang.Object
 - 
- com.google.web.bindery.requestfactory.gwt.client.RequestBatcher<F,C>
 
 
- 
- Type Parameters:
 F- the type of RequestFactoryC- any RequestContext type
public abstract class RequestBatcher<F extends RequestFactory,C extends RequestContext> extends java.lang.ObjectA RequestBatcher is a convenience class that allows RequestFactory operations to be aggregated over a single tick of the event loop and sent as one HTTP request. Instances of RequestBatcher are reusable, so they may be used as application-wide singleton objects or within a particular subsystem or UI.Subclasses need only to provide the instance of the RequestFactory used by the application and a method to provide a "default" RequestContext from the RequestFactory.
public class MyRequestBatcher extends RequestBatcher
A singleton or otherwise scoped instance of RequestBatcher should be injected into consuming classes. The{ public MyRequestBatcher() { // MyRequestFactory could also be injected super(GWT.create(MyRequestFactory.class)); } protected MyRequestContext createContext(MyRequestFactory factory) { return factory.myRequestContext(); } } RequestContext.fire()andRequest.fire()methods reachable from the RequestContext returned fromget()will not trigger an HTTP request. TheRequestContext.fire(Receiver)andRequest.fire(Receiver)methods will register their associated Receivers as usual. This allows consuming code to be written that can be used with or without a RequestBatcher.When an application uses multiple RequestContext types, the
RequestContext.append(RequestContext)method can be used to chain multiple RequestContext objects together:class MyRequestBatcher { public OtherRequestContext otherContext() { return get().append(getFactory().otherContext()); } } 
- 
- 
Constructor Summary
Constructors Modifier Constructor Description protectedRequestBatcher(F requestFactory) 
- 
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract CcreateContext(F requestFactory)Subclasses must implement this method to return an instance of a RequestContext.Cget()Returns a mutableRequestContext.Cget(Receiver<java.lang.Void> receiver)Returns a mutableRequestContextand enqueues the given receiver to be called as though it had been passed directly toRequestContext.fire(Receiver).FgetRequestFactory()Convenience access to the RequestFactory instance to aid developers using multiple RequestContext types.protected SchedulergetScheduler()ReturnsScheduler.get(), but may be overridden for testing purposes. 
 - 
 
- 
- 
Constructor Detail
- 
RequestBatcher
protected RequestBatcher(F requestFactory)
 
 - 
 
- 
Method Detail
- 
get
public C get()
Returns a mutableRequestContext. 
- 
get
public C get(Receiver<java.lang.Void> receiver)
Returns a mutableRequestContextand enqueues the given receiver to be called as though it had been passed directly toRequestContext.fire(Receiver). 
- 
getRequestFactory
public F getRequestFactory()
Convenience access to the RequestFactory instance to aid developers using multiple RequestContext types.RequestBatcher<MyRequestFactory, MyRequestContext> batcher; public void useOtherRequestContext() { OtherRequestContext ctx = batcher.get().append(batcher.getFactory().otherContext()); ctx.someOtherMethod().to(someReceiver); } 
- 
createContext
protected abstract C createContext(F requestFactory)
Subclasses must implement this method to return an instance of a RequestContext. 
- 
getScheduler
protected Scheduler getScheduler()
ReturnsScheduler.get(), but may be overridden for testing purposes. 
 - 
 
 -