org.riotfamily.forms
Class Form

java.lang.Object
  extended by org.riotfamily.forms.Form
All Implemented Interfaces:
BackingObjectAware, BeanEditor, NestedEditor

public class Form
extends Object
implements BeanEditor

Serverside representation of a HTML form.


Constructor Summary
Form()
           
Form(Class<?> type)
           
Form(Object object)
           
 
Method Summary
 void addButton(String name)
           
 void addElement(Editor element, String property)
          Convenience method to add and bind an element in a single step.
 void addElement(Element element)
           
 void addResource(FormResource resource)
           
 void bind(Editor editor, String property)
           
 Container createContainer(String name)
           
 String createId()
           
 String createUniqueParameterName()
          Returns a String that can be used as parameter name for input elements.
 String createUniqueParameterName(String desiredName)
          Like createUniqueParameterName()this method returns a String that can be used as parameter name.
 void elementRendered(Element element)
           
 String getAction()
           
 Object getAttribute(String key)
           
 Object getBackingObject()
           
 List<Element> getButtons()
           
 String getClickedButton()
           
 Editor getEditor(String property)
           
 EditorBinder getEditorBinder()
           
 Element getElementById(String id)
          Returns the previously registered element with the given id.
 List<Element> getElements()
           
 FormErrors getErrors()
           
 FormContext getFormContext()
           
 FormListener getFormListener()
           
 String getHint()
           
 String getId()
           
 Collection<Element> getRegisteredElements()
           
protected  List<FormResource> getResources()
           
 boolean hasErrors()
           
 void init()
           
 boolean isNew()
           
 boolean isRendering()
           
 Object populateBackingObject()
           
 void processExclusiveRequest(String elementId, FormRequest request)
           
 void processExclusiveRequest(String elementId, HttpServletRequest request)
           
 void processRequest(FormRequest request)
           
 void processRequest(HttpServletRequest request)
           
 void registerElement(Element element)
          Creates and sets an id for the given element and puts it into the internal elementMap.
 void render(PrintWriter writer)
           
 void requestFocus(Element element)
           
 void setAttribute(String key, Object value)
           
 void setBackingObject(Object value)
           
 void setBeanClass(Class<?> beanClass)
           
 void setEditorBinder(EditorBinder editorBinder)
           
 void setFormContext(FormContext formContext)
           
 void setFormListener(FormListener formListener)
           
 void setId(String id)
           
 void setInitializer(FormInitializer initializer)
           
 void setTemplate(String template)
           
 void setValidator(Validator validator)
           
 void unregisterElement(Element element)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Form

public Form()

Form

public Form(Class<?> type)

Form

public Form(Object object)
Since:
6.4
Method Detail

setEditorBinder

public void setEditorBinder(EditorBinder editorBinder)

getId

public String getId()

setId

public void setId(String id)

setTemplate

public void setTemplate(String template)

getRegisteredElements

public Collection<Element> getRegisteredElements()

setAttribute

public void setAttribute(String key,
                         Object value)

getAttribute

public Object getAttribute(String key)

setBeanClass

public void setBeanClass(Class<?> beanClass)
Specified by:
setBeanClass in interface BeanEditor

setBackingObject

public void setBackingObject(Object value)
Specified by:
setBackingObject in interface BackingObjectAware

isNew

public boolean isNew()

getEditorBinder

public EditorBinder getEditorBinder()

getEditor

public Editor getEditor(String property)
Specified by:
getEditor in interface NestedEditor

bind

public void bind(Editor editor,
                 String property)
Specified by:
bind in interface BeanEditor

addElement

public void addElement(Element element)

getElements

public List<Element> getElements()

getButtons

public List<Element> getButtons()

getHint

public String getHint()

addElement

public void addElement(Editor element,
                       String property)
Convenience method to add and bind an element in a single step.


addButton

public void addButton(String name)

getClickedButton

public String getClickedButton()

createContainer

public Container createContainer(String name)

addResource

public void addResource(FormResource resource)

getResources

protected List<FormResource> getResources()

registerElement

public void registerElement(Element element)
Creates and sets an id for the given element and puts it into the internal elementMap.

Parameters:
element - the element to register

unregisterElement

public void unregisterElement(Element element)

createId

public String createId()

getElementById

public Element getElementById(String id)
Returns the previously registered element with the given id.


createUniqueParameterName

public String createUniqueParameterName()
Returns a String that can be used as parameter name for input elements. Subsequent calls will return different values to ensure uniqueness of parameter names within a form.


createUniqueParameterName

public String createUniqueParameterName(String desiredName)
Like createUniqueParameterName()this method returns a String that can be used as parameter name. Since most modern browsers keep track of previously entered values (with the same parameter name) a desired name can be passed to this method. Typically an element will use the name of the property it is bound to as name. As this name might already be taken by another element (especially when lists of nested forms are used) this method will append an integer value to the given name if necessary.


render

public void render(PrintWriter writer)

isRendering

public boolean isRendering()

elementRendered

public void elementRendered(Element element)

setInitializer

public void setInitializer(FormInitializer initializer)

setValidator

public void setValidator(Validator validator)

init

public void init()

processRequest

public void processRequest(HttpServletRequest request)

processRequest

public void processRequest(FormRequest request)

processExclusiveRequest

public void processExclusiveRequest(String elementId,
                                    HttpServletRequest request)

processExclusiveRequest

public void processExclusiveRequest(String elementId,
                                    FormRequest request)

setFormListener

public void setFormListener(FormListener formListener)

getFormListener

public FormListener getFormListener()

requestFocus

public void requestFocus(Element element)

getBackingObject

public Object getBackingObject()

populateBackingObject

public Object populateBackingObject()

getFormContext

public FormContext getFormContext()

setFormContext

public void setFormContext(FormContext formContext)

getAction

public String getAction()

getErrors

public FormErrors getErrors()

hasErrors

public boolean hasErrors()