GWT 2.1.1

com.google.gwt.requestfactory.client
Interface RequestFactoryEditorDriver<P,E extends Editor<? super P>>

Type Parameters:
P - the type of Proxy being edited
E - the type of Editor that will edit the Record
All Known Implementing Classes:
MockRequestFactoryEditorDriver

public interface RequestFactoryEditorDriver<P,E extends Editor<? super P>>

The interface that links RequestFactory and the Editor framework together. Used for configuration and lifecycle control. Expected that this will be created with

 interface MyRFED extends RequestFactoryEditorDriver<MyObjectProxy, MyObjectEditor> {}
 MyRFED instance = GWT.create(MyRFED.class);
 {
 instance.initialize(.....);
 myRequest.with(instance.getPaths());
 
 // Fire the request, in the callback
 instance.edit(retrievedRecord);
 // Control when the request is sent
 instance.flush().fire(new Receiver {...});
 }
 

See com.google.gwt.requestfactory.client.testing.MockRequestFactoryEditorDriver


Method Summary
 void display(P proxy)
          Start driving the Editor and its sub-editors with data for display-only mode.
 void edit(P proxy, RequestContext request)
          Start driving the Editor and its sub-editors with data.
 RequestContext flush()
          Ensures that the Editor passed into initialize(com.google.gwt.event.shared.EventBus, com.google.gwt.requestfactory.shared.RequestFactory, E) and its sub-editors, if any, have synced their UI state by invoking flushing them in a depth-first manner.
 java.util.List<EditorError> getErrors()
          Returns any unconsumed EditorErrors from the last call to flush().
 java.lang.String[] getPaths()
          Returns a new array containing the request paths.
 boolean hasErrors()
          Indicates if the last call to flush() resulted in any errors.
 void initialize(E editor)
          Initializes a driver that will not be able to support subscriptions.
 void initialize(EventBus eventBus, RequestFactory requestFactory, E editor)
          Overload of initialize(RequestFactory, Editor) to allow a modified EventBus to be monitored for subscription services.
 void initialize(RequestFactory requestFactory, E editor)
          Initializes a driver with the editor it will run, and a RequestFactory to use for subscription services.
 boolean setViolations(java.lang.Iterable<Violation> errors)
          Show Violations returned from an attempt to submit a request.
 

Method Detail

display

void display(P proxy)
Start driving the Editor and its sub-editors with data for display-only mode.

Parameters:
proxy - a Proxy of type P

edit

void edit(P proxy,
          RequestContext request)
Start driving the Editor and its sub-editors with data. A RequestContext is required to provide context for the changes to the proxy (see RequestContext.edit(T). Note that this driver will not fire the request.

Parameters:
proxy - the proxy to be edited
request - the request context that will accumulate edits and is returned form flush()

flush

RequestContext flush()
Ensures that the Editor passed into initialize(com.google.gwt.event.shared.EventBus, com.google.gwt.requestfactory.shared.RequestFactory, E) and its sub-editors, if any, have synced their UI state by invoking flushing them in a depth-first manner.

Returns:
the RequestContext passed into edit(P, com.google.gwt.requestfactory.shared.RequestContext)
Throws:
java.lang.IllegalStateException - if edit(Object, RequestContext) has not been called with a non-null RequestContext

getErrors

java.util.List<EditorError> getErrors()
Returns any unconsumed EditorErrors from the last call to flush().

Returns:
a List of EditorError instances

getPaths

java.lang.String[] getPaths()
Returns a new array containing the request paths.

Returns:
an array of Strings

hasErrors

boolean hasErrors()
Indicates if the last call to flush() resulted in any errors.

Returns:
true if errors are present

initialize

void initialize(EventBus eventBus,
                RequestFactory requestFactory,
                E editor)
Overload of initialize(RequestFactory, Editor) to allow a modified EventBus to be monitored for subscription services.

Parameters:
eventBus - the EventBus
requestFactory - a RequestFactory instance
editor - an Editor of type E
See Also:
EditorDelegate.subscribe(), ResettableEventBus

initialize

void initialize(RequestFactory requestFactory,
                E editor)
Initializes a driver with the editor it will run, and a RequestFactory to use for subscription services.

Parameters:
requestFactory - a RequestFactory instance
editor - an Editor of type E
See Also:
EditorDelegate.subscribe()

initialize

void initialize(E editor)
Initializes a driver that will not be able to support subscriptions. Calls to EditorDelegate.subscribe() will do nothing.

Parameters:
editor - an Editor of type E

setViolations

boolean setViolations(java.lang.Iterable<Violation> errors)
Show Violations returned from an attempt to submit a request. The violations will be converted into EditorError objects whose getUserData() method can be used to access the original Violation object.

Parameters:
errors - a Iterable over Violation instances
Returns:
true if there were any unconsumed EditorErrors which can be retrieved from getErrors()

GWT 2.1.1