public final class Components extends Object
UIComponent
.Modifier and Type | Method and Description |
---|---|
static <T extends UIComponent> |
findComponent(String clientId)
Returns the UI component matching the given client ID search expression.
|
static <T extends UIComponent> |
findComponentInChildren(UIComponent component,
String clientId)
Returns the UI component matching the given client ID search expression relative to the point
in the component tree of the given component, searching only in its children.
|
static <T extends UIComponent> |
findComponentInParents(UIComponent component,
String clientId)
Returns the UI component matching the given client ID search expression relative to the point
in the component tree of the given component, searching only in its parents.
|
static <T extends UIComponent> |
findComponentRelatively(UIComponent component,
String clientId)
Returns the UI component matching the given client ID search expression relative to the point
in the component tree of the given component.
|
static <T extends UIComponent> |
findComponentsInChildren(UIComponent component,
Class<T> type)
Returns a list of UI components matching the given type in children of the given component.
|
static <T> T |
getAttribute(UIComponent component,
String name)
Returns the attribute of the given component on the given name.
|
static <T extends UIComponent> |
getClosestParent(UIComponent component,
Class<T> parentType)
Returns from the given component the closest parent of the given parent type, or
null if none
is found. |
static UIComponent |
getCurrentComponent()
Returns the current UI component from the EL context.
|
static UIForm |
getCurrentForm()
Returns the currently submitted UI form component, or
null if there is none, which may happen when
the current request is not a postback request at all, or when the view has been changed by for example a
successful navigation. |
static <T> T |
getImmediateValue(UIInput input)
Returns the value of the given input component whereby any unconverted submitted string value will immediately
be converted/validated as this method is called.
|
static String |
getLabel(UIComponent input)
Returns the value of the
label attribute associated with the given UI component if any, else
the client ID. |
static String |
getOptionalLabel(UIComponent input)
Returns the value of the
label attribute associated with the given UI component if any, else
null. |
static <T> T |
getValue(EditableValueHolder component)
Returns the value of the given editable value holder component without the need to know if the given component
has already been converted/validated or not.
|
static boolean |
hasInvokedSubmit(UIComponent component)
Returns whether the given component has invoked the form submit.
|
static boolean |
hasSubmittedValue(EditableValueHolder component)
Returns whether the given editable value holder component has a submitted value.
|
static UIComponent |
includeCompositeComponent(UIComponent parent,
String libraryName,
String resourceName,
String id)
Create and include the composite component of the given library ane resource name as child of the given UI
component parent and return the created composite component.
|
static void |
includeFacelet(UIComponent parent,
String path)
Include the Facelet file at the given (relative) path as child of the given UI component parent.
|
static boolean |
isEditable(UIInput input)
Returns whether the given UI input component is editable.
|
static boolean |
shouldVisitSkipIteration(VisitContext context)
Returns true if the given visit context contains the visit hint that iteration should be skipped.
|
static <T extends UIComponent> |
validateHasDirectParent(UIComponent component,
Class<T> parentType)
Validate if the given component has a direct parent of the given parent type.
|
static void |
validateHasNoChildren(UIComponent component)
Validate if the given component has no children.
|
static <T extends UIComponent> |
validateHasParent(UIComponent component,
Class<T> parentType)
Validate if the given component has a parent of the given parent type.
|
public static UIComponent getCurrentComponent()
UIComponent.getCurrentComponent(FacesContext)
public static <T> T getAttribute(UIComponent component, String name)
T
- The expected return type.component
- The component to return the attribute of the given name for.name
- The name of the attribute of the given component to be returned.ClassCastException
- When T
is of wrong type.public static <T extends UIComponent> T findComponent(String clientId)
clientId
- The client ID search expression.ClassCastException
- When T
is of wrong type.UIComponent.findComponent(String)
public static <T extends UIComponent> T findComponentRelatively(UIComponent component, String clientId)
component
- the component from which the relative search is started.clientId
- The client ID search expression.ClassCastException
- When T
is of wrong type.UIComponent.findComponent(String)
public static <T extends UIComponent> T findComponentInParents(UIComponent component, String clientId)
component
- the component from which the relative search is started.clientId
- The client ID search expression.ClassCastException
- When T
is of wrong type.UIComponent.findComponent(String)
public static <T extends UIComponent> T findComponentInChildren(UIComponent component, String clientId)
component
- the component from which the relative search is started.clientId
- The client ID search expression.ClassCastException
- When T
is of wrong type.UIComponent.findComponent(String)
public static <T extends UIComponent> List<T> findComponentsInChildren(UIComponent component, Class<T> type)
component
- The component to search in its children for UI components matching the given type.type
- The type of the UI components to be searched in children of the given component.ClassCastException
- When T
is of wrong type.public static <T extends UIComponent> T getClosestParent(UIComponent component, Class<T> parentType)
null
if none
is found.T
- The generic parent type.component
- The component to return the closest parent of the given parent type for.parentType
- The parent type.null
if none
is found.ClassCastException
- When T
is of wrong type.public static boolean shouldVisitSkipIteration(VisitContext context)
context
- The involved visit context.public static void includeFacelet(UIComponent parent, String path) throws IOException
<ui:include>
. The path is relative to the current view ID and absolute
to the webcontent root.parent
- The parent component to include the Facelet file in.path
- The (relative) path to the Facelet file.IOException
- Whenever something fails at I/O level. The caller should preferably not catch it, but just
redeclare it in the action method. The servletcontainer will handle it.FaceletContext.includeFacelet(UIComponent, String)
public static UIComponent includeCompositeComponent(UIComponent parent, String libraryName, String resourceName, String id)
<my:resourceName>
. The given component ID must be unique
relative to the current naming container parent and is mandatory for functioning of input components inside the
composite, if any.parent
- The parent component to include the composite component in.libraryName
- The library name of the composite component.resourceName
- The resource name of the composite component.id
- The component ID of the composite component.public static UIForm getCurrentForm()
null
if there is none, which may happen when
the current request is not a postback request at all, or when the view has been changed by for example a
successful navigation.UIForm.isSubmitted()
public static boolean isEditable(UIInput input)
input
- The UI input component to be checked.true
if the given UI input component is editable.public static String getLabel(UIComponent input)
label
attribute associated with the given UI component if any, else
the client ID. It never returns null.input
- The UI input component for which the label is to be retrieved.label
attribute associated with the given UI component if any, else
the client ID.public static String getOptionalLabel(UIComponent input)
label
attribute associated with the given UI component if any, else
null.input
- The UI input component for which the label is to be retrieved.label
attribute associated with the given UI component if any, else
null.public static <T> T getValue(EditableValueHolder component)
component
- The editable value holder component to obtain the value for.ClassCastException
- When T
is of wrong type.public static <T> T getImmediateValue(UIInput input)
input
- The input component to obtain the converted/validated value for.ClassCastException
- When T
is of wrong type.public static boolean hasSubmittedValue(EditableValueHolder component)
component
- The editable value holder component to be checked.true
if the given editable value holder component has a submitted value, otherwise
false
.public static boolean hasInvokedSubmit(UIComponent component)
UICommand
component. In ajax requests, that can also be among others an UIInput
component.component
- The component to be checked.true
if the given component has invoked the form submit.public static <T extends UIComponent> void validateHasParent(UIComponent component, Class<T> parentType) throws IllegalArgumentException
component
- The component to be validated.parentType
- The parent type to be checked.IllegalArgumentException
- When the given component doesn't have any parent of the given type.public static <T extends UIComponent> void validateHasDirectParent(UIComponent component, Class<T> parentType) throws IllegalArgumentException
component
- The component to be validated.parentType
- The parent type to be checked.IllegalArgumentException
- When the given component doesn't have a direct parent of the given type.public static void validateHasNoChildren(UIComponent component) throws IllegalArgumentException
component
- The component to be validated.IllegalArgumentException
- When the given component has any children.