Class UIForm
- All Implemented Interfaces:
NamingContainer,PartialStateHolder,StateHolder,TransientStateHolder,UniqueIdVendor,ComponentSystemEventListener,FacesListener,SystemEventListenerHolder,EventListener
- Direct Known Subclasses:
HtmlForm
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.
-
Field Summary
Fields Modifier and Type Field Description static StringCOMPONENT_FAMILYThe standard component family for this component.static StringCOMPONENT_TYPEThe standard component type for this component.Fields inherited from class jakarta.faces.component.UIComponent
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 -
Constructor Summary
-
Method Summary
Modifier and Type Method Description StringcreateUniqueId(FacesContext context, String seed)Generate an identifier for a component.StringgetContainerClientId(FacesContext context)Override theUIComponent.getContainerClientId(jakarta.faces.context.FacesContext)to allow users to disable this form from prepending itsclientIdto its descendent'sclientIdsdepending on the value of this form'sisPrependId()property.StringgetFamily()Return the identifier of the component family to which this component belongs.booleanisPrependId()Is the id prepended.booleanisSubmitted()Returns the current value of thesubmittedproperty.voidprocessDecodes(FacesContext context)OverrideUIComponent.processDecodes(jakarta.faces.context.FacesContext)to ensure that the form is decoded before its children.voidprocessUpdates(FacesContext context)OverrideUIComponent.processUpdates(jakarta.faces.context.FacesContext)to ensure that the children of thisUIForminstance are only processed ifisSubmitted()returnstrue.voidprocessValidators(FacesContext context)OverrideUIComponent.processValidators(jakarta.faces.context.FacesContext)to ensure that the children of thisUIForminstance are only processed ifisSubmitted()returnstrue.voidsetPrependId(boolean prependId)voidsetSubmitted(boolean submitted)If thisUIForminstance (as opposed to other forms in the page) is experiencing a submit during this request processing lifecycle, this method must be called, withtrueas the argument, during theUIComponent.decode(jakarta.faces.context.FacesContext)for thisUIForminstance.booleanvisitTree(VisitContext context, VisitCallback callback)Perform a tree visit starting at this node in the tree.Methods inherited from class jakarta.faces.component.UIComponentBase
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, unsubscribeFromEventMethods inherited from class jakarta.faces.component.UIComponent
encodeAll, getClientId, getCompositeComponentParent, getCurrentComponent, getCurrentCompositeComponent, getNamingContainer, getPassThroughAttributes, getResourceBundleMap, getStateHelper, getStateHelper, getTransientStateHelper, getTransientStateHelper, getValueExpression, initialStateMarked, isCompositeComponent, isInView, isVisitable, popComponentFromEL, processEvent, pushComponentToEL, restoreTransientState, saveTransientState, setInView, setValueExpression
-
Field Details
-
COMPONENT_TYPE
The standard component type for this component.
- See Also:
- Constant Field Values
-
COMPONENT_FAMILY
The standard component family for this component.
- See Also:
- Constant Field Values
-
-
Constructor Details
-
Method Details
-
getFamily
Description copied from class:UIComponentReturn the identifier of the component family to which this component belongs. This identifier, in conjunction with the value of the
rendererTypeproperty, may be used to select the appropriateRendererfor this component instance. Note this method should NOT returnnull- Specified by:
getFamilyin classUIComponent- Returns:
- the component family (not null).
-
isSubmitted
public boolean isSubmitted()Returns the current value of the
submittedproperty. The default value isfalse. SeesetSubmitted(boolean)for details.This property must be kept as a transient property using the
UIComponent.getTransientStateHelper().- Returns:
trueif the form was submitted,falseotherwise.
-
setSubmitted
public void setSubmitted(boolean submitted)If this
UIForminstance (as opposed to other forms in the page) is experiencing a submit during this request processing lifecycle, this method must be called, withtrueas the argument, during theUIComponent.decode(jakarta.faces.context.FacesContext)for thisUIForminstance. If thisUIForminstance is not experiencing a submit, this method must be called, withfalseas the argument, during theUIComponent.decode(jakarta.faces.context.FacesContext)for thisUIForminstance.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().- Parameters:
submitted- the new value of the submitted flag.
-
isPrependId
public boolean isPrependId()Is the id prepended.- Returns:
trueif it is,falseotherwise.
-
setPrependId
public void setPrependId(boolean prependId) -
processDecodes
Override
UIComponent.processDecodes(jakarta.faces.context.FacesContext)to ensure that the form is decoded before its children. This is necessary to allow thesubmittedproperty to be correctly set.- Overrides:
processDecodesin classUIComponentBase- Parameters:
context-FacesContextfor the request we are processing- Throws:
NullPointerException- ifcontextisnull
-
processValidators
Override
UIComponent.processValidators(jakarta.faces.context.FacesContext)to ensure that the children of thisUIForminstance are only processed ifisSubmitted()returnstrue.- Overrides:
processValidatorsin classUIComponentBase- Parameters:
context-FacesContextfor the request we are processing- Throws:
NullPointerException- ifcontextisnull- See Also:
PreValidateEvent,PostValidateEvent
-
processUpdates
Override
UIComponent.processUpdates(jakarta.faces.context.FacesContext)to ensure that the children of thisUIForminstance are only processed ifisSubmitted()returnstrue.- Overrides:
processUpdatesin classUIComponentBase- Parameters:
context-FacesContextfor the request we are processing- Throws:
NullPointerException- ifcontextisnull
-
createUniqueId
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
prependIdproperty has the valuefalse, this method must callcreateUniqueIdon the next ancestorUniqueIdVendor.- Specified by:
createUniqueIdin interfaceUniqueIdVendor- Parameters:
context- FacesContextseed- an optional seed value - e.g. based on the position of the component in the VDL-template- Returns:
- a unique-id in this component-container
-
getContainerClientId
Override the
UIComponent.getContainerClientId(jakarta.faces.context.FacesContext)to allow users to disable this form from prepending itsclientIdto its descendent'sclientIdsdepending on the value of this form'sisPrependId()property.- Overrides:
getContainerClientIdin classUIComponent- Parameters:
context- the Faces context.- Returns:
- the container client id.
-
visitTree
Description copied from class:UIComponentPerform a tree visit starting at this node in the tree.
UIComponent.visitTree() implementations do not invoke the
VisitCallbackdirectly, but instead callVisitContext.invokeVisitCallback(jakarta.faces.component.UIComponent, jakarta.faces.component.visit.VisitCallback)to invoke the callback. This allowsVisitContextimplementations to provide optimized tree traversals, for example by only calling theVisitCallbackfor a subset of components.UIComponent.visitTree() implementations must call UIComponent.pushComponentToEL() before performing the visit and UIComponent.popComponentFromEL() after the visit.
- Overrides:
visitTreein classUIComponent- Parameters:
context- theVisitContextfor this visitcallback- theVisitCallbackinstance whosevisitmethod will be called for each node visited.- Returns:
- component implementations may return
trueto 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.
- See Also:
UIComponent.visitTree(jakarta.faces.component.visit.VisitContext, jakarta.faces.component.visit.VisitCallback)
-