Spring Web Flow

org.springframework.webflow.execution
Interface View

All Known Implementing Classes:
AbstractMvcView, JsfView, PortletMvcView, ServletMvcView

public interface View

Allows a client to participate in flow execution. Encapsulates behavior to send the client an appropriate response and handle the resulting event once the client responds.

Author:
Keith Donald, Jeremy Grelle
See Also:
ViewFactory

Field Summary
static java.lang.String RENDER_FRAGMENTS_ATTRIBUTE
          Well-known attribute name for storing a render fragments value.
static java.lang.String USER_EVENT_STATE_ATTRIBUTE
          Well-known attribute name for storing the results of processing a user event
 
Method Summary
 Event getFlowEvent()
          Get the flow event the current state should handle.
 java.io.Serializable getUserEventState()
          A memento holding the results of processing a user event.
 boolean hasFlowEvent()
          True if a call to processUserEvent() raised a flow event the current state should handle.
 void processUserEvent()
          Process the queued user event.
 void render()
          Render this view's content.
 void saveState()
          Saves any state associated with this view out to view scope.
 boolean userEventQueued()
          True if there is a user event queued this view should process.
 

Field Detail

RENDER_FRAGMENTS_ATTRIBUTE

static final java.lang.String RENDER_FRAGMENTS_ATTRIBUTE
Well-known attribute name for storing a render fragments value.

See Also:
Constant Field Values

USER_EVENT_STATE_ATTRIBUTE

static final java.lang.String USER_EVENT_STATE_ATTRIBUTE
Well-known attribute name for storing the results of processing a user event

See Also:
Constant Field Values
Method Detail

render

void render()
            throws java.io.IOException
Render this view's content.

Throws:
java.io.IOException - if an IO Exception occured rendering the view

userEventQueued

boolean userEventQueued()
True if there is a user event queued this view should process.

Returns:
true if a user event is queued, false if not

processUserEvent

void processUserEvent()
Process the queued user event. Should only be called when userEventQueued() returns true. After calling this method, a flow event may be raised that should be handled in the Web Flow system.

See Also:
hasFlowEvent()

hasFlowEvent

boolean hasFlowEvent()
True if a call to processUserEvent() raised a flow event the current state should handle. Call getFlowEvent() to access the Event.

Returns:
true if yes, false otherwise

getFlowEvent

Event getFlowEvent()
Get the flow event the current state should handle. Returns an Event object when hasFlowEvent() returns true. Returns null otherwise.

Returns:
the event, or null if there is no event for the flow system to handle

getUserEventState

java.io.Serializable getUserEventState()
A memento holding the results of processing a user event. Used to allow transient view state such as binding and validation errors to survive a flow execution redirect.

Returns:
the serializable user event state object, or null if no event state needs managing
See Also:
processUserEvent()

saveState

void saveState()
Saves any state associated with this view out to view scope. Called when exiting a ViewState to allow for any changes applied after postback processing to be captured and reflected when going back. Can be a no-op for views that store no view state.


Spring Web Flow