Collection of utility methods for the Faces API with respect to working with UIComponent. There are several
traversal/lookup methods, there are several UIForm and UIInput related methods which makes it easier
to deal with forms and inputs.
The difference with Components is that no one method of ComponentsLocal obtains the FacesContext
from the current thread by FacesContext.getCurrentInstance(). This job is up to the caller. This is more
efficient in situations where multiple utility methods needs to be called at the same time. Invoking
FacesContext.getCurrentInstance() is at its own an extremely cheap operation, however as it's to be obtained
as a ThreadLocal variable, it's during the call still blocking all other running threads for some nanoseconds
or so.
- Since:
- 4.6
- Author:
- Bauke Scholtz
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionstatic voidaddFacesScriptResource(FacesContext context) static voidaddFormIfNecessary(FacesContext context) static voidaddScript(FacesContext context, String script) static voidaddScriptResource(FacesContext context, String libraryName, String resourceName) static UIViewRootbuildView(FacesContext context, String viewId) static <T> StringconvertToString(FacesContext context, ValueHolder holder, T value) createActionListenerMethodExpression(FacesContext context, String expression) static AjaxBehaviorcreateAjaxBehavior(FacesContext context, String expression) static <C extends UIComponent>
CcreateComponent(FacesContext context, String componentType) static MethodExpressioncreateMethodExpression(FacesContext context, String expression, Class<?> returnType, Class<?>... parameterTypes) static ValueExpressioncreateValueExpression(FacesContext context, String expression, Class<?> type) static MethodExpressioncreateVoidMethodExpression(FacesContext context, String expression, Class<?>... parameterTypes) static voiddisableInput(FacesContext context, String clientId) static StringencodeHtml(FacesContext context, UIComponent component) static <C extends UIComponent>
CfindComponent(FacesContext context, String clientId) static <C extends UIComponent>
CfindComponentInChildren(FacesContext context, UIComponent component, String clientId) static <C extends UIComponent>
CfindComponentInParents(FacesContext context, UIComponent component, String clientId) static <C extends UIComponent>
CfindComponentRelatively(FacesContext context, UIComponent component, String clientId) static <C extends UIComponent>
List<C>findComponentsInCurrentForm(FacesContext context, Class<C> type) static Components.ForEachforEachComponent(FacesContext context) getActionExpressionsAndListeners(FacesContext context, UIComponent component) static <C extends UIComponent>
CgetCurrentActionSource(FacesContext context) static UICommandgetCurrentCommand(FacesContext context) static <C extends UIComponent>
CgetCurrentComponent(FacesContext context) static UIFormgetCurrentForm(FacesContext context) static <T> Class<T>getExpectedType(FacesContext context, ValueExpression valueExpression) static <T> Class<T>getExpectedValueType(FacesContext context, UIComponent component) static <T> TgetImmediateValue(FacesContext context, UIInput input) static StringgetLabel(FacesContext context, UIComponent component) static UIMessagegetMessageComponent(FacesContext context, UIInput input) static UIMessagesgetMessagesComponent(FacesContext context) static StringgetOptionalLabel(FacesContext context, UIComponent component) getParams(FacesContext context, UIComponent component, boolean includeRequestParams, boolean includeViewParams) static StringgetRenderedValue(FacesContext context, ValueHolder holder) static booleanhasInvokedSubmit(FacesContext context, UIComponent component) static UIComponentincludeCompositeComponent(FacesContext context, UIComponent parent, String libraryName, String tagName, String id) static UIComponentincludeCompositeComponent(FacesContext context, UIComponent parent, String libraryName, String tagName, String id, Map<String, String> attributes) static voidincludeFacelet(FacesContext context, UIComponent parent, String path) static voidinvalidateInput(FacesContext context, String relativeClientId, String message, Object... params) static voidinvalidateInputs(FacesContext context, String... relativeClientIds) static voidresetForm(FacesContext context, UIComponent component) static voidresetInputs(FacesContext context, UIComponent component) static <C extends UIComponent>
voidvalidateHasChild(FacesContext context, UIComponent component, Class<C> childType) static <C extends UIComponent>
voidvalidateHasDirectParent(FacesContext context, UIComponent component, Class<C> parentType) static voidvalidateHasNoChildren(FacesContext context, UIComponent component) static <C extends UIComponent>
voidvalidateHasNoParent(FacesContext context, UIComponent component, Class<C> parentType) static <C extends UIComponent>
voidvalidateHasOnlyChildren(FacesContext context, UIComponent component, Class<C> childType) static <C extends UIComponent>
voidvalidateHasParent(FacesContext context, UIComponent component, Class<C> parentType)
-
Method Details
-
getCurrentComponent
- See Also:
-
findComponent
- See Also:
-
findComponentRelatively
public static <C extends UIComponent> C findComponentRelatively(FacesContext context, UIComponent component, String clientId) -
findComponentInParents
public static <C extends UIComponent> C findComponentInParents(FacesContext context, UIComponent component, String clientId) -
findComponentInChildren
public static <C extends UIComponent> C findComponentInChildren(FacesContext context, UIComponent component, String clientId) -
findComponentsInCurrentForm
public static <C extends UIComponent> List<C> findComponentsInCurrentForm(FacesContext context, Class<C> type) -
forEachComponent
- See Also:
-
createComponent
- See Also:
-
includeFacelet
public static void includeFacelet(FacesContext context, UIComponent parent, String path) throws IOException - Throws:
IOException- See Also:
-
includeCompositeComponent
public static UIComponent includeCompositeComponent(FacesContext context, UIComponent parent, String libraryName, String tagName, String id) -
includeCompositeComponent
public static UIComponent includeCompositeComponent(FacesContext context, UIComponent parent, String libraryName, String tagName, String id, Map<String, String> attributes) -
addScript
- See Also:
-
addScriptResource
-
addFacesScriptResource
- See Also:
-
buildView
- Throws:
IOException- See Also:
-
encodeHtml
- See Also:
-
getCurrentForm
- See Also:
-
getCurrentCommand
- See Also:
-
getCurrentActionSource
- See Also:
-
getLabel
- See Also:
-
getOptionalLabel
- See Also:
-
getImmediateValue
- See Also:
-
getExpectedValueType
-
getExpectedType
-
hasInvokedSubmit
- See Also:
-
getParams
public static Map<String,List<String>> getParams(FacesContext context, UIComponent component, boolean includeRequestParams, boolean includeViewParams) -
getMessageComponent
- See Also:
-
getMessagesComponent
- See Also:
-
resetForm
- See Also:
-
resetInputs
- See Also:
-
disableInput
- See Also:
-
addFormIfNecessary
- See Also:
-
convertToString
-
getRenderedValue
-
invalidateInputs
- See Also:
-
invalidateInput
public static void invalidateInput(FacesContext context, String relativeClientId, String message, Object... params) -
createValueExpression
public static ValueExpression createValueExpression(FacesContext context, String expression, Class<?> type) -
createMethodExpression
public static MethodExpression createMethodExpression(FacesContext context, String expression, Class<?> returnType, Class<?>... parameterTypes) -
createVoidMethodExpression
public static MethodExpression createVoidMethodExpression(FacesContext context, String expression, Class<?>... parameterTypes) -
createActionListenerMethodExpression
public static MethodExpressionActionListener createActionListenerMethodExpression(FacesContext context, String expression) -
createAjaxBehavior
- See Also:
-
getActionExpressionsAndListeners
public static List<String> getActionExpressionsAndListeners(FacesContext context, UIComponent component) -
validateHasParent
public static <C extends UIComponent> void validateHasParent(FacesContext context, UIComponent component, Class<C> parentType) -
validateHasDirectParent
public static <C extends UIComponent> void validateHasDirectParent(FacesContext context, UIComponent component, Class<C> parentType) -
validateHasNoParent
public static <C extends UIComponent> void validateHasNoParent(FacesContext context, UIComponent component, Class<C> parentType) -
validateHasChild
public static <C extends UIComponent> void validateHasChild(FacesContext context, UIComponent component, Class<C> childType) -
validateHasOnlyChildren
public static <C extends UIComponent> void validateHasOnlyChildren(FacesContext context, UIComponent component, Class<C> childType) -
validateHasNoChildren
-