Class UIForm
- java.lang.Object
- 
- jakarta.faces.component.UIComponent
- 
- jakarta.faces.component.UIComponentBase
- 
- jakarta.faces.component.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 UIComponentthat 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 rendererTypeproperty must be set to "jakarta.faces.Form". This value can be changed by calling thesetRendererType()method.
- 
- 
Field SummaryFields 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.UIComponentATTRS_WITH_DECLARED_DEFAULT_VALUES, BEANINFO_KEY, bindings, COMPOSITE_COMPONENT_TYPE_KEY, COMPOSITE_FACET_NAME, FACETS_KEY, VIEW_LOCATION_KEY
 - 
Fields inherited from interface jakarta.faces.component.NamingContainerSEPARATOR_CHAR
 
- 
 - 
Method SummaryAll Methods Instance Methods Concrete Methods 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.booleaninvokeOnComponent(FacesContext context, String clientId, ContextCallback callback)Starting at this component in the View hierarchy, search for a component with aclientIdequal to the argumentclientIdand, if found, call theContextCallback.invokeContextCallback(jakarta.faces.context.FacesContext, jakarta.faces.component.UIComponent)method on the argumentcallback, passing the currentFacesContextand the found component as arguments.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)Set whether the id should be prepended.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.UIComponentBaseaddClientBehavior, 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, isRendered, isTransient, markInitialState, processRestoreState, processSaveState, queueEvent, removeFacesListener, restoreAttachedState, restoreState, saveAttachedState, saveState, setId, setParent, setRendered, setRendererType, setTransient, subscribeToEvent, unsubscribeFromEvent
 - 
Methods inherited from class jakarta.faces.component.UIComponentencodeAll, getClientId, getCompositeComponentParent, getCurrentComponent, getCurrentCompositeComponent, getNamingContainer, getPassThroughAttributes, getResourceBundleMap, getStateHelper, getStateHelper, getTransientStateHelper, getTransientStateHelper, getValueExpression, initialStateMarked, isCompositeComponent, isInView, isVisitable, popComponentFromEL, processEvent, pushComponentToEL, restoreTransientState, saveTransientState, setInView, setValueExpression
 
- 
 
- 
- 
- 
Field Detail- 
COMPONENT_TYPEpublic static final String COMPONENT_TYPE The standard component type for this component. - See Also:
- Constant Field Values
 
 - 
COMPONENT_FAMILYpublic static final String COMPONENT_FAMILY The standard component family for this component. - See Also:
- Constant Field Values
 
 
- 
 - 
Constructor Detail- 
UIFormpublic UIForm() Create a new UIForminstance with default property values.
 
- 
 - 
Method Detail- 
getFamilypublic String 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 class- UIComponent
- Returns:
- the component family (not null).
 
 - 
isSubmittedpublic 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.
 
 - 
setSubmittedpublic 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.
 
 - 
isPrependIdpublic boolean isPrependId() Is the id prepended.- Returns:
- trueif it is,- falseotherwise.
 
 - 
setPrependIdpublic void setPrependId(boolean prependId) Set whether the id should be prepended.- Parameters:
- prependId-- trueif it is,- falseotherwise.
 
 - 
processDecodespublic 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 thesubmittedproperty to be correctly set.- Overrides:
- processDecodesin class- UIComponentBase
- Parameters:
- context-- FacesContextfor the request we are processing
- Throws:
- NullPointerException- if- contextis- null
 
 - 
processValidatorspublic void processValidators(FacesContext context) Override UIComponent.processValidators(jakarta.faces.context.FacesContext)to ensure that the children of thisUIForminstance are only processed ifisSubmitted()returnstrue.- Overrides:
- processValidatorsin class- UIComponentBase
- Parameters:
- context-- FacesContextfor the request we are processing
- Throws:
- NullPointerException- if- contextis- null
- See Also:
- PreValidateEvent,- PostValidateEvent
 
 - 
processUpdatespublic void processUpdates(FacesContext context) Override UIComponent.processUpdates(jakarta.faces.context.FacesContext)to ensure that the children of thisUIForminstance are only processed ifisSubmitted()returnstrue.- Overrides:
- processUpdatesin class- UIComponentBase
- Parameters:
- context-- FacesContextfor the request we are processing
- Throws:
- NullPointerException- if- contextis- null
 
 - 
createUniqueIdpublic 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 prependIdproperty has the valuefalse, this method must callcreateUniqueIdon the next ancestorUniqueIdVendor.- Specified by:
- createUniqueIdin interface- UniqueIdVendor
- Parameters:
- context- FacesContext
- seed- 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
 
 - 
getContainerClientIdpublic String getContainerClientId(FacesContext context) 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 class- UIComponent
- Parameters:
- context- the Faces context.
- Returns:
- the container client id.
 
 - 
visitTreepublic boolean visitTree(VisitContext context, VisitCallback callback) 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 class- UIComponent
- Parameters:
- context- the- VisitContextfor this visit
- callback- the- VisitCallbackinstance whose- visitmethod 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)
 
 - 
invokeOnComponentpublic boolean invokeOnComponent(FacesContext context, String clientId, ContextCallback callback) throws FacesException Description copied from class:UIComponentBaseStarting at this component in the View hierarchy, search for a component with a clientIdequal to the argumentclientIdand, if found, call theContextCallback.invokeContextCallback(jakarta.faces.context.FacesContext, jakarta.faces.component.UIComponent)method on the argumentcallback, passing the currentFacesContextand the found component as arguments. This method is similar toUIComponent.findComponent(java.lang.String)but it does not support the leadingUINamingContainer.getSeparatorChar(jakarta.faces.context.FacesContext)syntax for searching from the root of the View.The default implementation will first check if this.getClientId()is equal to the argumentclientId. If so, first callUIComponent.pushComponentToEL(jakarta.faces.context.FacesContext, jakarta.faces.component.UIComponent), then call theContextCallback.invokeContextCallback(jakarta.faces.context.FacesContext, jakarta.faces.component.UIComponent)method on the argument callback, passing through theFacesContextargument and passing this as the component argument. Then callUIComponent.popComponentFromEL(jakarta.faces.context.FacesContext). If anExceptionis thrown by the callback, wrap it in aFacesExceptionand re-throw it. Otherwise, returntrue.Otherwise, for each component returned by UIComponent.getFacetsAndChildren(), callinvokeOnComponent()passing the arguments to this method, in order. The first timeinvokeOnComponent()returns true, abort traversing the rest of theIteratorand returntrue.When calling ContextCallback.invokeContextCallback(jakarta.faces.context.FacesContext, jakarta.faces.component.UIComponent)the implementation of this method must guarantee that the state of the component passed to the callback correctly reflects the component's position in the View hierarchy with respect to any state found in the argumentclientId. For example, an iterating component such asUIDatawill need to set its row index to correctly reflect the argumentclientIdbefore finding the appropriate child component backed by the correct row. When the callback returns, either normally or by throwing anExceptionthe implementation of this method must restore the state of the view to the way it was before invoking the callback.If none of the elements from UIComponent.getFacetsAndChildren()returnedtruefrominvokeOnComponent(), returnfalse.Simple usage example to find a component by clientId.private UIComponent found = null; private void doFind(FacesContext context, String clientId) { context.getViewRoot().invokeOnComponent(context, clientId, new ContextCallback() { public void invokeContextCallback(FacesContext context, UIComponent component) { found = component; } }); }- Overrides:
- invokeOnComponentin class- UIComponentBase
- Parameters:
- context- the- FacesContextfor the current request
- clientId- the client identifier of the component to be passed to the argument callback.
- callback- an implementation of the Callback interface.
- Returns:
- trueif the a component with the given- clientIdis found, the callback method was successfully invoked passing that component as an argument, and no Exception was thrown. Returns- falseif no component with the given- clientIdis found.
- Throws:
- FacesException- if the argument Callback throws an Exception, it is wrapped in a- FacesExceptionand re-thrown.
- See Also:
- UIComponent.invokeOnComponent(jakarta.faces.context.FacesContext, java.lang.String, jakarta.faces.component.ContextCallback)
 
 
- 
 
-