|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--org.apache.hivemind.impl.BaseLocatable | +--org.apache.tapestry.AbstractComponent | +--org.apache.tapestry.form.Form
Component which contains form element components. Forms use the action or direct services to
handle the form submission. A Form will wrap other components and static HTML, including form
components such as TextArea
,TextField
,Checkbox
, etc. [ Component Reference ]
When a form is submitted, it continues through the rewind cycle until after all of its wrapped elements have renderred. As the form component render (in the rewind cycle), they will be updating properties of the containing page and notifying thier listeners. Again: each form component is responsible not only for rendering HTML (to present the form), but for handling it's share of the form submission.
Only after all that is done will the Form notify its listener.
Starting in release 1.0.2, a Form can use either the direct service or the action service. The default is the direct service, even though in earlier releases, only the action service was available.
Field Summary |
Fields inherited from interface org.apache.tapestry.IForm |
ATTRIBUTE_NAME |
Constructor Summary | |
Form()
|
Method Summary | |
void |
addEventHandler(FormEventType type,
java.lang.String functionName)
Adds an additional event handler. |
void |
addHiddenValue(java.lang.String name,
java.lang.String value)
Adds a hidden field value to be stored in the form. |
void |
addHiddenValue(java.lang.String name,
java.lang.String id,
java.lang.String value)
Adds a hidden field value to be stored in the form. |
protected java.lang.String |
buildAllocatedIdList()
Converts the allocateIds property into a string, a comma-separated list of ids. |
protected void |
cleanupAfterRender(IRequestCycle cycle)
Invoked by AbstractComponent.render(IMarkupWriter, IRequestCycle) after the component renders. |
protected void |
emitEventHandlers(IMarkupWriter writer,
IRequestCycle cycle)
|
static IForm |
get(IRequestCycle cycle)
Returns the currently active IForm , or null if no form is active. |
abstract IEngineService |
getActionService()
Injected. |
abstract IValidationDelegate |
getDelegate()
Returns the validation delegate for the form. |
abstract IEngineService |
getDirectService()
Injected. |
protected java.lang.String |
getDisplayName()
Returns the name of the element. |
java.lang.String |
getElementId(IFormComponent component)
Constructs a unique identifier (within the Form). |
java.lang.String |
getElementId(IFormComponent component,
java.lang.String baseId)
Constructs a unique identifier from the base id. |
abstract IActionListener |
getListener()
|
abstract java.lang.String |
getMethod()
|
java.lang.String |
getName()
Returns the name generated for the form. |
boolean |
getRequiresSession()
Returns true if the stateful parameter is bound to a true value. |
protected java.lang.String |
getTag()
Returns the tag of the form. |
abstract boolean |
isDirect()
Returns true if this Form is configured to use the direct service. |
boolean |
isRewinding()
Indicates to any wrapped form components that they should respond to the form submission. |
abstract boolean |
isStateful()
Invoked by the direct service to query the component as to whether it is stateful. |
protected void |
prepareForRender(IRequestCycle cycle)
Invoked by AbstractComponent.render(IMarkupWriter, IRequestCycle) to prepare the component to render. |
protected void |
reconstructAllocatedIds(IRequestCycle cycle)
Invoked when rewinding a form to re-initialize the _allocatedIds and _elementIdAllocator. |
protected void |
renderComponent(IMarkupWriter writer,
IRequestCycle cycle)
Invoked by AbstractComponent.render(IMarkupWriter, IRequestCycle) to actually render the component
(with any parameter values already set). |
void |
rewind(IMarkupWriter writer,
IRequestCycle cycle)
Simply invokes AbstractComponent.render(IMarkupWriter, IRequestCycle) . |
abstract void |
setDelegate(IValidationDelegate delegate)
|
void |
setEncodingType(java.lang.String encodingType)
May be invoked by a component to force the encoding type of the form to a particular value. |
void |
trigger(IRequestCycle cycle)
Method invoked by the direct service. |
protected void |
writeAttributes(IMarkupWriter writer,
ILink link)
|
protected void |
writeHiddenField(IMarkupWriter writer,
java.lang.String name,
java.lang.String value)
|
protected void |
writeHiddenField(IMarkupWriter writer,
java.lang.String name,
java.lang.String id,
java.lang.String value)
|
protected void |
writeHiddenValues(IMarkupWriter writer)
Writes hidden values accumulated during the render (by components invoking addHiddenValue(String, String) . |
Methods inherited from class org.apache.tapestry.AbstractComponent |
addAsset, addBody, addComponent, checkActiveLock, enterActiveState, finishLoad, finishLoad, getAsset, getAssets, getBeans, getBinding, getBindingNames, getBindings, getBody, getBodyCount, getComponent, getComponents, getContainer, getExtendedId, getId, getIdPath, getListeners, getNamespace, getPage, getProperty, isInActiveState, isParameterBound, isRendering, pageEndRender, render, renderBody, renderInformalParameters, setBinding, setContainer, setId, setNamespace, setPage, setProperty, toString |
Methods inherited from class org.apache.hivemind.impl.BaseLocatable |
getLocation, setLocation |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface org.apache.tapestry.IComponent |
addAsset, addBody, addComponent, enterActiveState, finishLoad, getAsset, getAssets, getBeans, getBinding, getBindingNames, getBindings, getComponent, getComponents, getContainer, getExtendedId, getId, getIdPath, getListeners, getMessages, getNamespace, getPage, getProperty, getSpecification, isRendering, renderBody, setBinding, setContainer, setId, setNamespace, setPage, setProperty |
Methods inherited from interface org.apache.tapestry.IRender |
render |
Methods inherited from interface org.apache.hivemind.LocationHolder |
setLocation |
Methods inherited from interface org.apache.hivemind.Locatable |
getLocation |
Constructor Detail |
public Form()
Method Detail |
public static IForm get(IRequestCycle cycle)
IForm
, or null if no form is active. This is a
convienience method, the result will be null, or an instance of IForm
, but not
necessarily a Form
.
public boolean isRewinding()
isRewinding
in interface IForm
org.apache.hivemind.ApplicationRuntimeException
- if not rendering.public abstract IEngineService getDirectService()
public abstract IEngineService getActionService()
public abstract boolean isDirect()
This is derived from the direct parameter, and defaults to true if not bound.
public boolean getRequiresSession()
getRequiresSession
in interface IAction
public java.lang.String getElementId(IFormComponent component)
Simply invokes
getElementId(org.apache.tapestry.form.IFormComponent, java.lang.String)
with the
component's id.
getElementId
in interface IForm
public java.lang.String getElementId(IFormComponent component, java.lang.String baseId)
This method is provided simply so that some components (ImageSubmit
) have more
specific control over their names.
getElementId
in interface IForm
public java.lang.String getName()
This value is generated when the form renders, and is not cleared. If the Form is inside a
Foreach
, this will be the most recently generated
name for the Form.
This property is exposed so that sophisticated applications can write JavaScript handlers for the form and components within the form.
getName
in interface IForm
AbstractFormComponent.getName()
protected void prepareForRender(IRequestCycle cycle)
AbstractComponent
AbstractComponent.render(IMarkupWriter, IRequestCycle)
to prepare the component to render.
This implementation sets JavaBeans properties from matching bound parameters. This
implementation does nothing.
prepareForRender
in class AbstractComponent
protected void cleanupAfterRender(IRequestCycle cycle)
AbstractComponent
AbstractComponent.render(IMarkupWriter, IRequestCycle)
after the component renders. This
implementation does nothing.
cleanupAfterRender
in class AbstractComponent
protected void writeAttributes(IMarkupWriter writer, ILink link)
protected void renderComponent(IMarkupWriter writer, IRequestCycle cycle)
AbstractComponent
AbstractComponent.render(IMarkupWriter, IRequestCycle)
to actually render the component
(with any parameter values already set). This is the method that subclasses must implement.
renderComponent
in class AbstractComponent
public void addEventHandler(FormEventType type, java.lang.String functionName)
addEventHandler
in interface IForm
protected void emitEventHandlers(IMarkupWriter writer, IRequestCycle cycle)
public void rewind(IMarkupWriter writer, IRequestCycle cycle)
AbstractComponent.render(IMarkupWriter, IRequestCycle)
.
rewind
in interface IForm
public void trigger(IRequestCycle cycle)
trigger
in interface IDirect
protected void writeHiddenField(IMarkupWriter writer, java.lang.String name, java.lang.String value)
protected void writeHiddenField(IMarkupWriter writer, java.lang.String name, java.lang.String id, java.lang.String value)
protected java.lang.String buildAllocatedIdList()
protected void reconstructAllocatedIds(IRequestCycle cycle)
buildAllocatedIdList()
public abstract IValidationDelegate getDelegate()
IForm
getDelegate
in interface IForm
public abstract void setDelegate(IValidationDelegate delegate)
public abstract IActionListener getListener()
public abstract java.lang.String getMethod()
public abstract boolean isStateful()
IDirect
HttpSession
is active, then a
StaleSessionException
is
thrown by the service.
isStateful
in interface IDirect
public void setEncodingType(java.lang.String encodingType)
IForm
setEncodingType
in interface IForm
Upload
protected java.lang.String getTag()
Go
,
overrides this.
protected java.lang.String getDisplayName()
Go
,
overrides this.
public void addHiddenValue(java.lang.String name, java.lang.String value)
IForm
It is acceptible to add multiple hidden fields with the same name. They will be written in the order they are received.
addHiddenValue
in interface IForm
public void addHiddenValue(java.lang.String name, java.lang.String id, java.lang.String value)
IForm
It is acceptible to add multiple hidden fields with the same name. They will be written in the order they are received.
addHiddenValue
in interface IForm
protected void writeHiddenValues(IMarkupWriter writer)
addHiddenValue(String, String)
.
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |