com.arsdigita.bebop
Class MultiStepForm

java.lang.Object
  extended bycom.arsdigita.bebop.Completable
      extended bycom.arsdigita.bebop.SimpleComponent
          extended bycom.arsdigita.bebop.FormSection
              extended bycom.arsdigita.bebop.Form
                  extended bycom.arsdigita.bebop.MultiStepForm
All Implemented Interfaces:
BebopConstants, Cloneable, Component, Container, Lockable
Direct Known Subclasses:
Wizard

public class MultiStepForm
extends Form

The MultiStepForm class is a simple extension to Form that modifies the behavior of Form with respect to widgets that are not visible. Instead of generating no XML for widgets that are not visible, the MultiStepForm class generates XML that preserves the sate of non visible widgets using hidden form variables. This allows a single form to preserve data across multiple submits thereby allowing multi step forms such as confirmation forms or wizards to be easily created. When creating complicated wizards it is useful to use MultiStepForm in conjunction with the FormStep class to provide cascading initialization of the different steps in the form.

Version:
$Revision: #8 $ $Date: 2004/04/07 $
Author:
rhs@mit.edu
See Also:
FormStep, Wizard

Field Summary
static String versionId
           
 
Fields inherited from class com.arsdigita.bebop.Form
GET, POST
 
Fields inherited from class com.arsdigita.bebop.FormSection
m_formModel, m_panel
 
Fields inherited from class com.arsdigita.bebop.SimpleComponent
m_attr
 
Fields inherited from interface com.arsdigita.bebop.util.BebopConstants
BEBOP_BORDER, BEBOP_BOXPANEL, BEBOP_CELL, BEBOP_CHECKBOX, BEBOP_CHECKBOXGROUP, BEBOP_COLUMNPANEL, BEBOP_DATE, BEBOP_DATETIME, BEBOP_DHTMLEDITOR, BEBOP_FORMERRORS, BEBOP_FORMWIDGET, BEBOP_GRIDPANEL, BEBOP_LIST, BEBOP_MULTISELECT, BEBOP_OPTION, BEBOP_PAD, BEBOP_PADFRAME, BEBOP_PANELROW, BEBOP_PORTAL, BEBOP_PORTLET, BEBOP_RADIO, BEBOP_RADIOGROUP, BEBOP_SEG_BODY, BEBOP_SEG_HEADER, BEBOP_SEG_PANEL, BEBOP_SEGMENT, BEBOP_SELECT, BEBOP_TABLE, BEBOP_TABLEBODY, BEBOP_TABLEROW, BEBOP_TEXTAREA
 
Fields inherited from interface com.arsdigita.bebop.Component
BEBOP_XML_NS, CLASS, ID, ON_CLICK, STYLE
 
Constructor Summary
MultiStepForm(String name)
           
MultiStepForm(String name, Container panel)
           
 
Method Summary
protected  Element generateXMLSansState(PageState ps, Element parent)
          Generates the XML representing the form and its widgets, but not the state information from s.
 void register(Page p)
          Adds this form to the page and traverses the components contained in this form, collecting parameterModels and Listeners into this form's FormModel.
 
Methods inherited from class com.arsdigita.bebop.Form
addMagicTag, excludeParameterFromExport, generateErrors, generateXML, getAction, getFormData, getName, getProcessInvisible, isRedirecting, process, respond, setAction, setEncType, setFormData, setMethod, setName, setOnReset, setOnSubmit, setProcessInvisible, setRedirecting, toString, traverse
 
Methods inherited from class com.arsdigita.bebop.FormSection
add, add, addCancelListener, addInitListener, addProcessListener, addSubmissionListener, addValidationListener, children, contains, createInitListener, createProcessListener, createSubmissionListener, createValidationListener, fireCancel, fireInit, fireProcess, fireSubmitted, fireValidate, forwardInit, forwardProcess, forwardSubmission, forwardValidation, get, getModel, getPanel, indexOf, isEmpty, lock, register, removeCancelListener, removeInitListener, removeProcessListener, removeSubmissionListener, removeValidationListener, size
 
Methods inherited from class com.arsdigita.bebop.SimpleComponent
clone, exportAttributes, getAttribute, getClassAttr, getIdAttr, getKey, getMetaDataAttribute, getStyleAttr, hasAttributes, isLocked, isVisible, setAttribute, setClassAttr, setIdAttr, setKey, setMetaDataAttribute, setStyleAttr, setVisible
 
Methods inherited from class com.arsdigita.bebop.Completable
addCompletionListener, fireCompletionEvent
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface com.arsdigita.bebop.Component
getClassAttr, getIdAttr, getKey, getStyleAttr, isVisible, setClassAttr, setIdAttr, setKey, setStyleAttr, setVisible
 
Methods inherited from interface com.arsdigita.util.Lockable
isLocked
 

Field Detail

versionId

public static final String versionId
See Also:
Constant Field Values
Constructor Detail

MultiStepForm

public MultiStepForm(String name)
See Also:
Form.Form(String)

MultiStepForm

public MultiStepForm(String name,
                     Container panel)
See Also:
Form.Form(String, Container)
Method Detail

register

public void register(Page p)
Description copied from class: Form
Adds this form to the page and traverses the components contained in this form, collecting parameterModels and Listeners into this form's FormModel.

Specified by:
register in interface Component
Overrides:
register in class Form
Parameters:
p - page in which to register this form

generateXMLSansState

protected Element generateXMLSansState(PageState ps,
                                       Element parent)
Description copied from class: Form
Generates the XML representing the form and its widgets, but not the state information from s.

Overrides:
generateXMLSansState in class Form
Parameters:
ps - represents the curent request
Returns:
the top-level element for the form


Copyright (c) 2004 Red Hat, Inc. Corporation. All Rights Reserved. Generated at July 20 2004:2337 UTC