Class FormSupportImpl
java.lang.Object
org.apache.tapestry5.corelib.internal.FormSupportImpl
- All Implemented Interfaces:
ClientElement
,Locatable
,InternalFormSupport
,FormSupport
Provides support to components enclosed by a form when the form is rendering (allowing the components to registry
form submit callback commands), and also during form submission time.
TODO: Most methods should only be invokable depending on whether the form is rendering or processing a submission.
-
Constructor Summary
ConstructorsConstructorDescriptionFormSupportImpl
(ComponentResources resources, String formValidationId) Constructor used when processing a form submission.FormSupportImpl
(ComponentResources resources, String clientId, ComponentActionSink actionSink, boolean clientValidationEnabled, IdAllocator idAllocator, String formValidationId) Full constructor (specifically constructor for render time). -
Method Summary
Modifier and TypeMethodDescriptionvoid
addValidation
(Field field, String validationName, String message, Object constraint) Collects field validation information.Allocates a unique (within the form) control name for some enclosed component, based on the component's id.void
Defers a command until the end of the form submission.void
Executes any deferred callbacks added viaFormSupport.defer(Runnable)
.Returns the form encoding type, if one has been set via a call toFormSupport.setEncodingType(String)
.Returns the complete id of the underlying Form component.Id used as a prefix when searchingMessages
for validation messages and constraints.Returns the location associated with this object for error reporting purposes.boolean
Return true if client validation is enabled for this form, false otherwise.void
setEncodingType
(String encodingType) Sets the encoding type for the Form.<T> void
store
(T component, ComponentAction<T> action) Stores an action for execution during a later request.<T> void
storeAndExecute
(T component, ComponentAction<T> action) As withFormSupport.store(Object, org.apache.tapestry5.ComponentAction)
}, but the action is also invoked immediately.<T> void
storeCancel
(T component, ComponentAction<T> action) Stores an action for execution in a later request when the containing form is canceled.
-
Constructor Details
-
FormSupportImpl
Constructor used when processing a form submission. -
FormSupportImpl
public FormSupportImpl(ComponentResources resources, String clientId, ComponentActionSink actionSink, boolean clientValidationEnabled, IdAllocator idAllocator, String formValidationId) Full constructor (specifically constructor for render time).
-
-
Method Details
-
getLocation
Description copied from interface:Locatable
Returns the location associated with this object for error reporting purposes.- Specified by:
getLocation
in interfaceLocatable
-
getFormComponentId
Description copied from interface:FormSupport
Returns the complete id of the underlying Form component.- Specified by:
getFormComponentId
in interfaceFormSupport
-
allocateControlName
Description copied from interface:FormSupport
Allocates a unique (within the form) control name for some enclosed component, based on the component's id.- Specified by:
allocateControlName
in interfaceFormSupport
- Parameters:
id
- the component's id- Returns:
- a unique string, usually the component's id, but sometime extended with a unique number or string
-
store
Description copied from interface:FormSupport
Stores an action for execution during a later request. If the action contains any mutable state, it should be in its final state before invoking this method and its internal state should not be changed subsequently.- Specified by:
store
in interfaceFormSupport
-
storeCancel
Description copied from interface:FormSupport
Stores an action for execution in a later request when the containing form is canceled. Cancel actions are triggered before the form fires itsEventConstants.CANCELED
event.- Specified by:
storeCancel
in interfaceFormSupport
-
storeAndExecute
Description copied from interface:FormSupport
As withFormSupport.store(Object, org.apache.tapestry5.ComponentAction)
}, but the action is also invoked immediately. This is useful for defining an action that should occur symmetrically in both the render request and the form submission's action request.- Specified by:
storeAndExecute
in interfaceFormSupport
- Parameters:
component
- component against which to trigger the actionaction
- the action that will be triggered (and passed the component)
-
defer
Description copied from interface:FormSupport
Defers a command until the end of the form submission. The command will be executed before the Form's validate notification, but after all other submit actions for the form have been processed. This is used, primarily, to coordinate validations or other operations that involve multiple components, when the order of the components can not be determined. During a form render, runnables are executed after the body of the form has rendered.- Specified by:
defer
in interfaceFormSupport
- Parameters:
command
- to be executed
-
executeDeferred
Description copied from interface:InternalFormSupport
Executes any deferred callbacks added viaFormSupport.defer(Runnable)
.- Specified by:
executeDeferred
in interfaceInternalFormSupport
-
getClientId
- Specified by:
getClientId
in interfaceClientElement
- Returns:
- a unique id for the element. This value will be unique for any given rendering of a page. This value is intended for use as the id attribute of the client-side element, and will be used with any DHTML/Ajax related JavaScript.
-
getEncodingType
Description copied from interface:InternalFormSupport
Returns the form encoding type, if one has been set via a call toFormSupport.setEncodingType(String)
.- Specified by:
getEncodingType
in interfaceInternalFormSupport
-
setEncodingType
Description copied from interface:FormSupport
Sets the encoding type for the Form. This should only be set once, and if- Specified by:
setEncodingType
in interfaceFormSupport
- Parameters:
encodingType
- MIME type indicating type of encoding for the form
-
addValidation
Description copied from interface:FormSupport
Collects field validation information. A Form may turn off client-side validation, in which case these calls will be ignored.- Specified by:
addValidation
in interfaceFormSupport
- Parameters:
field
- for which validation is being generatedvalidationName
- name of validation method (see Tapestry.Validation in tapestry.js)message
- the error message to display if the field is invalidconstraint
- additional constraint value, or null for validations that don't require a constraint
-
isClientValidationEnabled
Description copied from interface:FormSupport
Return true if client validation is enabled for this form, false otherwise.- Specified by:
isClientValidationEnabled
in interfaceFormSupport
-
getFormValidationId
Description copied from interface:FormSupport
Id used as a prefix when searchingMessages
for validation messages and constraints. This is normally the simple id of the form.- Specified by:
getFormValidationId
in interfaceFormSupport
- Returns:
- validation id string
- See Also:
-