Interface View

All Known Implementing Classes:
AbstractMvcView, JsfView, 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:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
    Well-known attribute name for storing a render fragments value.
    static final String
    Well-known attribute name for storing the results of processing a user event
  • Method Summary

    Modifier and Type
    Method
    Description
    Get the flow event the current state should handle.
    A memento holding the results of processing a user event.
    boolean
    True if a call to processUserEvent() raised a flow event the current state should handle.
    void
    Process the queued user event.
    void
    Render this view's content.
    void
    Saves any state associated with this view out to view scope.
    boolean
    True if there is a user event queued this view should process.
  • Field Details

    • RENDER_FRAGMENTS_ATTRIBUTE

      static final String RENDER_FRAGMENTS_ATTRIBUTE
      Well-known attribute name for storing a render fragments value.
      See Also:
    • USER_EVENT_STATE_ATTRIBUTE

      static final String USER_EVENT_STATE_ATTRIBUTE
      Well-known attribute name for storing the results of processing a user event
      See Also:
  • Method Details

    • render

      void render() throws IOException
      Render this view's content.
      Throws:
      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

      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

      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:
    • 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.