public class UIForm extends UIComponentBase implements NamingContainer, UniqueIdVendor
UIForm is a UIComponent
that represents an input form to be
presented to the user, and whose child components represent (among other things) the input fields to be included when
the form is submitted.
By default, the rendererType
property must be set to "jakarta.faces.Form
". This value can
be changed by calling the setRendererType()
method.
Modifier and Type | Field and Description |
---|---|
static String |
COMPONENT_FAMILY
The standard component family for this component.
|
static String |
COMPONENT_TYPE
The standard component type for this component.
|
ATTRS_WITH_DECLARED_DEFAULT_VALUES, BEANINFO_KEY, bindings, COMPOSITE_COMPONENT_TYPE_KEY, COMPOSITE_FACET_NAME, CURRENT_COMPONENT, CURRENT_COMPOSITE_COMPONENT, FACETS_KEY, HONOR_CURRENT_COMPONENT_ATTRIBUTES_PARAM_NAME, VIEW_LOCATION_KEY
SEPARATOR_CHAR
Constructor and Description |
---|
UIForm()
Create a new
UIForm instance with default property values. |
Modifier and Type | Method and Description |
---|---|
String |
createUniqueId(FacesContext context,
String seed)
Generate an identifier for a component. |
String |
getContainerClientId(FacesContext context)
Override the
UIComponent.getContainerClientId(jakarta.faces.context.FacesContext) to allow users to disable this form from prepending its
clientId to its descendent's clientIds depending on the value of this form's
isPrependId() property. |
String |
getFamily()
Return the identifier of the component family to which this component belongs. |
boolean |
isPrependId()
Is the id prepended.
|
boolean |
isSubmitted()
Returns the current value of the
submitted property. |
void |
processDecodes(FacesContext context)
Override
UIComponent.processDecodes(jakarta.faces.context.FacesContext) to ensure that the form is decoded before its children. |
void |
processUpdates(FacesContext context)
Override
UIComponent.processUpdates(jakarta.faces.context.FacesContext) to ensure that the children of this UIForm instance are only
processed if isSubmitted() returns true . |
void |
processValidators(FacesContext context)
Override |
void |
setPrependId(boolean prependId) |
void |
setSubmitted(boolean submitted)
If this
UIForm instance (as opposed to other
forms in the page) is experiencing a submit during this request processing lifecycle, this method must be called,
with true as the argument, during the UIComponent.decode(jakarta.faces.context.FacesContext) for this UIForm instance. |
boolean |
visitTree(VisitContext context,
VisitCallback callback)
Perform a tree visit starting at this node in the tree. |
addClientBehavior, addFacesListener, broadcast, clearInitialState, decode, encodeBegin, encodeChildren, encodeEnd, findComponent, getAttributes, getChildCount, getChildren, getClientBehaviors, getClientId, getDefaultEventName, getEventNames, getFacesContext, getFacesListeners, getFacet, getFacetCount, getFacets, getFacetsAndChildren, getId, getListenersForEventClass, getParent, getPassThroughAttributes, getRenderer, getRendererType, getRendersChildren, getValueBinding, invokeOnComponent, isRendered, isTransient, markInitialState, processRestoreState, processSaveState, queueEvent, removeFacesListener, restoreAttachedState, restoreState, saveAttachedState, saveState, setId, setParent, setRendered, setRendererType, setTransient, setValueBinding, subscribeToEvent, unsubscribeFromEvent
encodeAll, getClientId, getCompositeComponentParent, getCurrentComponent, getCurrentCompositeComponent, getNamingContainer, getPassThroughAttributes, getResourceBundleMap, getStateHelper, getStateHelper, getTransientStateHelper, getTransientStateHelper, getValueExpression, initialStateMarked, isCompositeComponent, isInView, isVisitable, popComponentFromEL, processEvent, pushComponentToEL, restoreTransientState, saveTransientState, setInView, setValueExpression
public static final String COMPONENT_TYPE
The standard component type for this component.
public static final String COMPONENT_FAMILY
The standard component family for this component.
public UIForm()
Create a new UIForm
instance with default property values.
public String getFamily()
UIComponent
Return the identifier of the component family to which this component belongs. This identifier, in conjunction with
the value of the rendererType
property, may be used to select the appropriate Renderer
for this
component instance. Note this method should NOT return null
getFamily
in class UIComponent
public boolean isSubmitted()
Returns the current value of the submitted
property. The
default value is false
. See setSubmitted(boolean)
for details.
This property must be kept as a transient property using the UIComponent.getTransientStateHelper()
.
true
if the form was submitted, false
otherwise.public void setSubmitted(boolean submitted)
If this UIForm
instance (as opposed to other
forms in the page) is experiencing a submit during this request processing lifecycle, this method must be called,
with true
as the argument, during the UIComponent.decode(jakarta.faces.context.FacesContext)
for this UIForm
instance.
If this UIForm
instance is not experiencing a submit, this method must
be called, with false
as the argument, during the UIComponent.decode(jakarta.faces.context.FacesContext)
for this
UIForm
instance.
The value of a UIForm
's submitted property must not be saved as part of its state.
This property must be kept as a transient property using the UIComponent.getTransientStateHelper()
.
submitted
- the new value of the submitted flag.public boolean isPrependId()
true
if it is, false
otherwise.public void setPrependId(boolean prependId)
public void processDecodes(FacesContext context)
Override UIComponent.processDecodes(jakarta.faces.context.FacesContext)
to ensure that the form is decoded before its children.
This is necessary to allow the submitted
property to be correctly set.
processDecodes
in class UIComponentBase
context
- FacesContext
for the request we are processingNullPointerException
- if context
is null
public void processValidators(FacesContext context)
Override UIComponent.processValidators(jakarta.faces.context.FacesContext)
to ensure that the children of this UIForm
instance are
only processed if isSubmitted()
returns true
.
processValidators
in class UIComponentBase
context
- FacesContext
for the request we are processingNullPointerException
- if context
is null
PreValidateEvent
,
PostValidateEvent
public void processUpdates(FacesContext context)
Override UIComponent.processUpdates(jakarta.faces.context.FacesContext)
to ensure that the children of this UIForm
instance are only
processed if isSubmitted()
returns true
.
processUpdates
in class UIComponentBase
context
- FacesContext
for the request we are processingNullPointerException
- if context
is null
public String createUniqueId(FacesContext context, String seed)
Generate an identifier for a component. The identifier will be prefixed with UNIQUE_ID_PREFIX, and will be unique within this component-container. Optionally, a unique seed value can be supplied by component creators which should be included in the generated unique id.
If the prependId
property has the value false
, this method must call
createUniqueId
on the next ancestor UniqueIdVendor
.
createUniqueId
in interface UniqueIdVendor
context
- FacesContextseed
- an optional seed value - e.g. based on the position of the component in the VDL-templatepublic String getContainerClientId(FacesContext context)
Override the UIComponent.getContainerClientId(jakarta.faces.context.FacesContext)
to allow users to disable this form from prepending its
clientId
to its descendent's clientIds
depending on the value of this form's
isPrependId()
property.
getContainerClientId
in class UIComponent
context
- the Faces context.public boolean visitTree(VisitContext context, VisitCallback callback)
UIComponent
Perform a tree visit starting at this node in the tree.
UIComponent.visitTree() implementations do not invoke the VisitCallback
directly, but instead call
VisitContext.invokeVisitCallback(jakarta.faces.component.UIComponent, jakarta.faces.component.visit.VisitCallback)
to invoke the callback. This allows VisitContext
implementations to
provide optimized tree traversals, for example by only calling the VisitCallback
for a subset of components.
UIComponent.visitTree() implementations must call UIComponent.pushComponentToEL() before performing the visit and UIComponent.popComponentFromEL() after the visit.
visitTree
in class UIComponent
context
- the VisitContext
for this visitcallback
- the VisitCallback
instance whose visit
method will be called for each node
visited.true
to indicate that the tree visit is complete (eg. all
components that need to be visited have been visited). This results in the tree visit being short-circuited such that
no more components are visited.
UIComponent.visitTree(jakarta.faces.component.visit.VisitContext, jakarta.faces.component.visit.VisitCallback)
Copyright © 2018,2020 Eclipse Foundation.
Use is subject to license terms.