You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by ta...@apache.org on 2026/06/18 16:11:39 UTC
(myfaces) branch main updated: cosmetics
This is an automated email from the ASF dual-hosted git repository.
tandraschko pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/myfaces.git
The following commit(s) were added to refs/heads/main by this push:
new 29fc7352f cosmetics
29fc7352f is described below
commit 29fc7352f4b0543346338e89e7de75bc9a20eba8
Author: tandraschko <ta...@apache.org>
AuthorDate: Thu Jun 18 18:11:29 2026 +0200
cosmetics
---
api/src/client/package-lock.json | 40 ++++-
.../java/jakarta/faces/component/UICommand.java | 4 +-
.../java/jakarta/faces/component/UIComponent.java | 12 +-
.../jakarta/faces/component/UIComponentBase.java | 25 ++--
.../main/java/jakarta/faces/component/UIForm.java | 4 +-
.../jakarta/faces/component/UIImportConstants.java | 4 +-
.../main/java/jakarta/faces/component/UIInput.java | 10 +-
.../jakarta/faces/component/UINamingContainer.java | 2 +-
.../jakarta/faces/component/UIOutcomeTarget.java | 8 +-
.../java/jakarta/faces/component/UIOutput.java | 5 +-
.../java/jakarta/faces/component/UISelectOne.java | 2 +-
.../java/jakarta/faces/component/UIViewAction.java | 10 +-
.../jakarta/faces/component/UIViewParameter.java | 2 +-
.../java/jakarta/faces/component/UIViewRoot.java | 22 +--
.../faces/component/behavior/AjaxBehavior.java | 18 +--
.../core/api/shared/SharedRendererUtils.java | 12 +-
.../myfaces/push/WebsocketComponentRenderer.java | 4 +-
.../apache/myfaces/push/WebsocketInitRenderer.java | 10 +-
.../apache/myfaces/renderkit/LazyRenderKit.java | 2 +-
.../apache/myfaces/renderkit/RendererUtils.java | 40 ++---
.../renderkit/html/HtmlDoctypeRenderer.java | 2 +-
.../myfaces/renderkit/html/HtmlFormRenderer.java | 3 +-
.../myfaces/renderkit/html/HtmlFormatRenderer.java | 8 +-
.../myfaces/renderkit/html/HtmlHeadRenderer.java | 2 +-
.../myfaces/renderkit/html/HtmlHiddenRenderer.java | 2 +-
.../renderkit/html/base/HtmlBodyRendererBase.java | 8 +-
.../html/base/HtmlButtonRendererBase.java | 6 +-
.../html/base/HtmlCheckboxRendererBase.java | 10 +-
.../renderkit/html/base/HtmlFormRendererBase.java | 59 ++++----
.../renderkit/html/base/HtmlGridRendererBase.java | 8 +-
.../renderkit/html/base/HtmlGroupRendererBase.java | 10 +-
.../renderkit/html/base/HtmlImageRendererBase.java | 43 +++---
.../html/base/HtmlInputFileRendererBase.java | 21 ++-
.../renderkit/html/base/HtmlLinkRendererBase.java | 8 +-
.../html/base/HtmlListboxRendererBase.java | 20 ++-
.../renderkit/html/base/HtmlMenuRendererBase.java | 18 +--
.../html/base/HtmlMessageRendererBase.java | 20 +--
.../html/base/HtmlMessagesRendererBase.java | 2 +-
.../base/HtmlOutcomeTargetButtonRendererBase.java | 68 +++++----
.../renderkit/html/base/HtmlRadioRendererBase.java | 14 +-
.../myfaces/renderkit/html/base/HtmlRenderer.java | 4 +-
.../html/base/HtmlSecretRendererBase.java | 12 +-
.../html/base/HtmlSelectableRendererBase.java | 5 +-
.../renderkit/html/util/HtmlRendererUtils.java | 164 ++++++++++-----------
.../view/facelets/component/RepeatRenderer.java | 8 +-
.../myfaces/view/facelets/component/UIRepeat.java | 16 +-
.../faces/ClearBindingValueExpressionListener.java | 6 +-
47 files changed, 388 insertions(+), 395 deletions(-)
diff --git a/api/src/client/package-lock.json b/api/src/client/package-lock.json
index d3d4bd52e..966da778b 100644
--- a/api/src/client/package-lock.json
+++ b/api/src/client/package-lock.json
@@ -125,6 +125,7 @@
"integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"@babel/code-frame": "^7.29.0",
"@babel/generator": "^7.29.0",
@@ -500,6 +501,7 @@
}
],
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=20.19.0"
},
@@ -548,6 +550,7 @@
}
],
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=20.19.0"
}
@@ -2127,6 +2130,7 @@
"integrity": "sha512-603BddQMv3pUcr4U2dhujk83N2tTDVr/34wII2B6bJy6g+8WD6yUb11jszNs0gdi4PesVWl7ABt8nYMVpnLUcg==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"undici-types": ">=7.24.0 <7.24.7"
}
@@ -2420,6 +2424,7 @@
"integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==",
"dev": true,
"license": "MIT",
+ "peer": true,
"bin": {
"acorn": "bin/acorn"
},
@@ -2468,6 +2473,7 @@
"integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"fast-deep-equal": "^3.1.3",
"fast-uri": "^3.0.1",
@@ -2835,6 +2841,7 @@
}
],
"license": "MIT",
+ "peer": true,
"dependencies": {
"baseline-browser-mapping": "^2.9.0",
"caniuse-lite": "^1.0.30001759",
@@ -5236,6 +5243,7 @@
"integrity": "sha512-ECi4Fi2f7BdJtUKTflYRTiaMxIB0O6zfR1fX0GXpUrf6flp8QIYn1UT20YQqdSOfk2dfkCwS8LAFoJDEppNK5Q==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"@asamuzakjp/css-color": "^5.1.11",
"@asamuzakjp/dom-selector": "^7.1.1",
@@ -5878,6 +5886,7 @@
"integrity": "sha512-G5UyHinFkB1BxqGTrmZdB6uIYH0+v7ZnVssuflUDi+J+RhKWyAhRT1RCehBSI6jLFLuUUgFDyLt49mUtdO1XeQ==",
"dev": true,
"license": "ISC",
+ "peer": true,
"dependencies": {
"@istanbuljs/load-nyc-config": "^1.0.0",
"@istanbuljs/schema": "^0.1.2",
@@ -7811,6 +7820,7 @@
"integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==",
"dev": true,
"license": "MIT",
+ "peer": true,
"engines": {
"node": ">=12"
},
@@ -7994,7 +8004,8 @@
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
"integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
"dev": true,
- "license": "0BSD"
+ "license": "0BSD",
+ "peer": true
},
"node_modules/tsx": {
"version": "4.22.4",
@@ -8145,6 +8156,7 @@
"integrity": "sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==",
"dev": true,
"license": "Apache-2.0",
+ "peer": true,
"bin": {
"tsc": "bin/tsc",
"tsserver": "bin/tsserver"
@@ -8325,6 +8337,7 @@
"integrity": "sha512-v7RhXaJbpMlV0D7hC7lb2EbnxkoeUqf9qhKr6lozx3Q48pmFrqqNRmZFUEGmi7pSwm6fCQ2H1IjvCkHqdpVdjQ==",
"dev": true,
"license": "MIT",
+ "peer": true,
"dependencies": {
"@types/estree": "^1.0.8",
"@types/json-schema": "^7.0.15",
@@ -8478,6 +8491,7 @@
"resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-5.2.4.tgz",
"integrity": "sha512-GqDPGZN9bRqKBTkp4aWkobDDHMsrXKoGSdOH56smIri8qR0JG8gfL8/v/f/OZR3/OKXjG8uwJbFVhKm/FNU/UA==",
"dev": true,
+ "peer": true,
"dependencies": {
"@types/bonjour": "^3.5.13",
"@types/connect-history-api-fallback": "^1.5.4",
@@ -8939,6 +8953,7 @@
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.0.tgz",
"integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==",
"dev": true,
+ "peer": true,
"requires": {
"@babel/code-frame": "^7.29.0",
"@babel/generator": "^7.29.0",
@@ -9178,6 +9193,7 @@
"resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-4.0.0.tgz",
"integrity": "sha512-+B87qS7fIG3L5h3qwJ/IFbjoVoOe/bpOdh9hAjXbvx0o8ImEmUsGXN0inFOnk2ChCFgqkkGFQ+TpM5rbhkKe4w==",
"dev": true,
+ "peer": true,
"requires": {}
},
"@csstools/css-syntax-patches-for-csstree": {
@@ -9191,7 +9207,8 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-4.0.0.tgz",
"integrity": "sha512-QxULHAm7cNu72w97JUNCBFODFaXpbDg+dP8b/oWFAZ2MTRppA3U00Y2L1HqaS4J6yBqxwa/Y3nMBaxVKbB/NsA==",
- "dev": true
+ "dev": true,
+ "peer": true
},
"@discoveryjs/json-ext": {
"version": "1.1.0",
@@ -10250,6 +10267,7 @@
"resolved": "https://registry.npmjs.org/@types/node/-/node-25.9.3.tgz",
"integrity": "sha512-603BddQMv3pUcr4U2dhujk83N2tTDVr/34wII2B6bJy6g+8WD6yUb11jszNs0gdi4PesVWl7ABt8nYMVpnLUcg==",
"dev": true,
+ "peer": true,
"requires": {
"undici-types": ">=7.24.0 <7.24.7"
}
@@ -10513,7 +10531,8 @@
"version": "8.16.0",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz",
"integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==",
- "dev": true
+ "dev": true,
+ "peer": true
},
"acorn-import-phases": {
"version": "1.0.4",
@@ -10543,6 +10562,7 @@
"resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz",
"integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==",
"dev": true,
+ "peer": true,
"requires": {
"fast-deep-equal": "^3.1.3",
"fast-uri": "^3.0.1",
@@ -10805,6 +10825,7 @@
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz",
"integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==",
"dev": true,
+ "peer": true,
"requires": {
"baseline-browser-mapping": "^2.9.0",
"caniuse-lite": "^1.0.30001759",
@@ -12463,6 +12484,7 @@
"resolved": "https://registry.npmjs.org/jsdom/-/jsdom-29.1.1.tgz",
"integrity": "sha512-ECi4Fi2f7BdJtUKTflYRTiaMxIB0O6zfR1fX0GXpUrf6flp8QIYn1UT20YQqdSOfk2dfkCwS8LAFoJDEppNK5Q==",
"dev": true,
+ "peer": true,
"requires": {
"@asamuzakjp/css-color": "^5.1.11",
"@asamuzakjp/dom-selector": "^7.1.1",
@@ -12926,6 +12948,7 @@
"resolved": "https://registry.npmjs.org/nyc/-/nyc-18.0.0.tgz",
"integrity": "sha512-G5UyHinFkB1BxqGTrmZdB6uIYH0+v7ZnVssuflUDi+J+RhKWyAhRT1RCehBSI6jLFLuUUgFDyLt49mUtdO1XeQ==",
"dev": true,
+ "peer": true,
"requires": {
"@istanbuljs/load-nyc-config": "^1.0.0",
"@istanbuljs/schema": "^0.1.2",
@@ -14282,7 +14305,8 @@
"version": "4.0.4",
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz",
"integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==",
- "dev": true
+ "dev": true,
+ "peer": true
}
}
},
@@ -14393,7 +14417,8 @@
"version": "2.8.1",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
"integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
- "dev": true
+ "dev": true,
+ "peer": true
},
"tsx": {
"version": "4.22.4",
@@ -14496,7 +14521,8 @@
"version": "6.0.3",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.3.tgz",
"integrity": "sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==",
- "dev": true
+ "dev": true,
+ "peer": true
},
"uc.micro": {
"version": "2.1.0",
@@ -14613,6 +14639,7 @@
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.107.2.tgz",
"integrity": "sha512-v7RhXaJbpMlV0D7hC7lb2EbnxkoeUqf9qhKr6lozx3Q48pmFrqqNRmZFUEGmi7pSwm6fCQ2H1IjvCkHqdpVdjQ==",
"dev": true,
+ "peer": true,
"requires": {
"@types/estree": "^1.0.8",
"@types/json-schema": "^7.0.15",
@@ -14713,6 +14740,7 @@
"resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-5.2.4.tgz",
"integrity": "sha512-GqDPGZN9bRqKBTkp4aWkobDDHMsrXKoGSdOH56smIri8qR0JG8gfL8/v/f/OZR3/OKXjG8uwJbFVhKm/FNU/UA==",
"dev": true,
+ "peer": true,
"requires": {
"@types/bonjour": "^3.5.13",
"@types/connect-history-api-fallback": "^1.5.4",
diff --git a/api/src/main/java/jakarta/faces/component/UICommand.java b/api/src/main/java/jakarta/faces/component/UICommand.java
index edf28480a..b629cb507 100644
--- a/api/src/main/java/jakarta/faces/component/UICommand.java
+++ b/api/src/main/java/jakarta/faces/component/UICommand.java
@@ -101,7 +101,7 @@ public void queueEvent(FacesEvent event)
@Override
public boolean isImmediate()
{
- return (Boolean) getStateHelper().eval(PropertyKeys.immediate, Boolean.FALSE);
+ return getStateHelper().eval(PropertyKeys.immediate, Boolean.FALSE);
}
@Override
@@ -141,7 +141,7 @@ public void setValue(Object value)
@Override
public MethodExpression getActionExpression()
{
- return (MethodExpression) getStateHelper().eval(PropertyKeys.actionExpression);
+ return getStateHelper().eval(PropertyKeys.actionExpression);
}
@Override
diff --git a/api/src/main/java/jakarta/faces/component/UIComponent.java b/api/src/main/java/jakarta/faces/component/UIComponent.java
index 1e926acf5..e8747181d 100755
--- a/api/src/main/java/jakarta/faces/component/UIComponent.java
+++ b/api/src/main/java/jakarta/faces/component/UIComponent.java
@@ -419,8 +419,7 @@ public String getContainerClientId(FacesContext ctx)
*/
public static UIComponent getCurrentComponent(FacesContext context)
{
- List<UIComponent> componentStack
- = (List<UIComponent>) context.getAttributes().get(UIComponent._COMPONENT_STACK);
+ List<UIComponent> componentStack = (List<UIComponent>) context.getAttributes().get(UIComponent._COMPONENT_STACK);
if (componentStack != null && !componentStack.isEmpty())
{
return componentStack.get(componentStack.size()-1);
@@ -618,8 +617,7 @@ public ValueExpression getValueExpression(String name)
{
Assert.notNull(name, "name");
- Map<String, Object> valueExpressions = (Map<String, Object>)
- getStateHelper().get(PropertyKeys.valueExpressions);
+ Map<String, Object> valueExpressions = getStateHelper().get(PropertyKeys.valueExpressions);
if (valueExpressions != null)
{
return (ValueExpression) valueExpressions.get(name);
@@ -775,8 +773,7 @@ public void processEvent(ComponentSystemEvent event) throws AbortProcessingExcep
// avoid StackoverflowException
boolean shouldProcessEvent = true;
if (listener instanceof _EventListenerWrapper wrapper &&
- wrapper.getListenerCapability() ==
- _EventListenerWrapper.LISTENER_TYPE_COMPONENT)
+ wrapper.getListenerCapability() == _EventListenerWrapper.LISTENER_TYPE_COMPONENT)
{
shouldProcessEvent = false;
}
@@ -854,8 +851,7 @@ public void unsubscribeFromEvent(Class<? extends SystemEvent> eventClass,
{
for (Iterator<SystemEventListener> it = listeners.iterator(); it.hasNext(); )
{
- ComponentSystemEventListener listener
- = ((_EventListenerWrapper) it.next()).getComponentSystemEventListener();
+ ComponentSystemEventListener listener = ((_EventListenerWrapper) it.next()).getComponentSystemEventListener();
if (listener != null && listener.equals(componentListener))
{
it.remove();
diff --git a/api/src/main/java/jakarta/faces/component/UIComponentBase.java b/api/src/main/java/jakarta/faces/component/UIComponentBase.java
index 84f190344..345eb7787 100755
--- a/api/src/main/java/jakarta/faces/component/UIComponentBase.java
+++ b/api/src/main/java/jakarta/faces/component/UIComponentBase.java
@@ -131,7 +131,7 @@ public abstract class UIComponentBase extends UIComponent
private transient FacesContext _facesContext;
private transient Boolean _cachedIsRendered;
- private transient Renderer _cachedRenderer;
+ private transient Renderer<? extends UIComponent> _cachedRenderer;
public UIComponentBase()
{
@@ -608,7 +608,6 @@ public void encodeChildren(FacesContext context) throws IOException
else
{
// If a Renderer is associated with this UIComponent, the actual encoding will be delegated to
- // Renderer.encodeChildren(FacesContext, UIComponent).
renderer.encodeChildren(context, this);
}
}
@@ -676,7 +675,7 @@ public UIComponent findComponent(String expr)
{
Assert.notNull(expr, "expr");
- if (expr.length() == 0)
+ if (expr.isEmpty())
{
return null;
}
@@ -929,7 +928,7 @@ public String getClientId(FacesContext context)
_clientId = id;
}
- Renderer renderer = getRenderer(context);
+ Renderer<?> renderer = getRenderer(context);
if (renderer != null)
{
_clientId = renderer.convertClientId(context, _clientId);
@@ -1100,7 +1099,7 @@ public String getRendererType()
public boolean getRendersChildren()
{
Renderer renderer = getRenderer(getFacesContext());
- return renderer != null ? renderer.getRendersChildren() : false;
+ return renderer != null && renderer.getRendersChildren();
}
/**
@@ -1158,9 +1157,9 @@ public boolean isRendered()
{
if (_cachedIsRendered != null)
{
- return Boolean.TRUE.equals(_cachedIsRendered);
+ return _cachedIsRendered;
}
- return (Boolean) getStateHelper().eval(PropertyKeys.rendered, DEFAULT_RENDERED);
+ return getStateHelper().eval(PropertyKeys.rendered, DEFAULT_RENDERED);
}
@JSFProperty(literalOnly = true, istransient = true, tagExcluded = true)
@@ -1176,7 +1175,7 @@ public void markInitialState()
super.markInitialState();
// Enable copyFullInitialState behavior when delta is written into this component.
- ((_DeltaStateHelper)getStateHelper()).setCopyFullInitialState(true);
+ ((_DeltaStateHelper) getStateHelper()).setCopyFullInitialState(true);
if (_facesListeners != null && !_facesListeners.isEmpty())
{
@@ -1264,11 +1263,11 @@ protected FacesListener[] getFacesListeners(Class<? extends FacesListener> clazz
}
@Override
- protected Renderer getRenderer(FacesContext context)
+ protected <T extends UIComponent> Renderer<T> getRenderer(FacesContext context)
{
Assert.notNull(context, "context");
- Renderer renderer = getCachedRenderer();
+ Renderer<T> renderer = (Renderer<T>) getCachedRenderer();
if (renderer != null)
{
return renderer;
@@ -1280,7 +1279,7 @@ protected Renderer getRenderer(FacesContext context)
}
RenderKit renderKit = context.getRenderKit();
- renderer = renderKit.getRenderer(getFamily(), rendererType);
+ renderer = (Renderer<T>) renderKit.getRenderer(getFamily(), rendererType);
if (renderer == null)
{
String location = getComponentLocation(this);
@@ -2349,12 +2348,12 @@ void setCachedFacesContext(FacesContext facesContext)
_facesContext = facesContext;
}
- Renderer getCachedRenderer()
+ Renderer<? extends UIComponent> getCachedRenderer()
{
return _cachedRenderer;
}
- void setCachedRenderer(Renderer renderer)
+ void setCachedRenderer(Renderer<? extends UIComponent> renderer)
{
_cachedRenderer = renderer;
}
diff --git a/api/src/main/java/jakarta/faces/component/UIForm.java b/api/src/main/java/jakarta/faces/component/UIForm.java
index 584d39b7c..a1cb17bad 100755
--- a/api/src/main/java/jakarta/faces/component/UIForm.java
+++ b/api/src/main/java/jakarta/faces/component/UIForm.java
@@ -94,7 +94,7 @@ public String createUniqueId(FacesContext context, String seed)
// UNIQUE_ID_PREFIX, and will be unique within this UIViewRoot.
if(seed == null)
{
- Integer uniqueIdCounter = (Integer) getStateHelper().get(PropertyKeys.uniqueIdCounter);
+ Integer uniqueIdCounter = getStateHelper().get(PropertyKeys.uniqueIdCounter);
uniqueIdCounter = (uniqueIdCounter == null) ? 0 : uniqueIdCounter;
getStateHelper().put(PropertyKeys.uniqueIdCounter, (uniqueIdCounter+1));
return bld.append(UIViewRoot.UNIQUE_ID_PREFIX).append(uniqueIdCounter).toString();
@@ -427,7 +427,7 @@ public String getContainerClientId(FacesContext ctx)
@JSFProperty(defaultValue = "true")
public boolean isPrependId()
{
- return (Boolean) getStateHelper().eval(PropertyKeys.prependId, true);
+ return getStateHelper().eval(PropertyKeys.prependId, true);
}
public void setPrependId(boolean prependId)
diff --git a/api/src/main/java/jakarta/faces/component/UIImportConstants.java b/api/src/main/java/jakarta/faces/component/UIImportConstants.java
index b7bf41885..f40a14fc3 100644
--- a/api/src/main/java/jakarta/faces/component/UIImportConstants.java
+++ b/api/src/main/java/jakarta/faces/component/UIImportConstants.java
@@ -46,7 +46,7 @@ public String getFamily()
@JSFProperty
public String getType()
{
- return (String) getStateHelper().eval(PropertyKeys.type);
+ return getStateHelper().eval(PropertyKeys.type);
}
public void setType(String type)
@@ -57,7 +57,7 @@ public void setType(String type)
@JSFProperty
public String getVar()
{
- return (String) getStateHelper().eval(PropertyKeys.var);
+ return getStateHelper().eval(PropertyKeys.var);
}
public void setVar(String var)
diff --git a/api/src/main/java/jakarta/faces/component/UIInput.java b/api/src/main/java/jakarta/faces/component/UIInput.java
index 513cfbd33..78521b8fe 100644
--- a/api/src/main/java/jakarta/faces/component/UIInput.java
+++ b/api/src/main/java/jakarta/faces/component/UIInput.java
@@ -834,7 +834,7 @@ public void resetValue()
@Override
public boolean isImmediate()
{
- return (Boolean) getStateHelper().eval(PropertyKeys.immediate, Boolean.FALSE);
+ return getStateHelper().eval(PropertyKeys.immediate, Boolean.FALSE);
}
@Override
@@ -857,7 +857,7 @@ public void setImmediate(boolean immediate)
@Override
public boolean isRequired()
{
- return (Boolean) getStateHelper().eval(PropertyKeys.required, Boolean.FALSE);
+ return getStateHelper().eval(PropertyKeys.required, Boolean.FALSE);
}
@Override
@@ -875,7 +875,7 @@ public void setRequired(boolean required)
@JSFProperty
public String getConverterMessage()
{
- return (String) getStateHelper().eval(PropertyKeys.converterMessage);
+ return getStateHelper().eval(PropertyKeys.converterMessage);
}
public void setConverterMessage(String converterMessage)
@@ -890,7 +890,7 @@ public void setConverterMessage(String converterMessage)
@JSFProperty
public String getRequiredMessage()
{
- return (String) getStateHelper().eval(PropertyKeys.requiredMessage);
+ return getStateHelper().eval(PropertyKeys.requiredMessage);
}
public void setRequiredMessage(String requiredMessage)
@@ -979,7 +979,7 @@ public Validator[] getValidators()
@JSFProperty
public String getValidatorMessage()
{
- return (String) getStateHelper().eval(PropertyKeys.validatorMessage);
+ return getStateHelper().eval(PropertyKeys.validatorMessage);
}
public void setValidatorMessage(String validatorMessage)
diff --git a/api/src/main/java/jakarta/faces/component/UINamingContainer.java b/api/src/main/java/jakarta/faces/component/UINamingContainer.java
index 3bd21f638..1d4c4a8b3 100644
--- a/api/src/main/java/jakarta/faces/component/UINamingContainer.java
+++ b/api/src/main/java/jakarta/faces/component/UINamingContainer.java
@@ -76,7 +76,7 @@ public String createUniqueId(FacesContext context, String seed)
// and will be unique within this UIViewRoot.
if(seed == null)
{
- Integer uniqueIdCounter = (Integer) getStateHelper().get(PropertyKeys.uniqueIdCounter);
+ Integer uniqueIdCounter = getStateHelper().get(PropertyKeys.uniqueIdCounter);
uniqueIdCounter = (uniqueIdCounter == null) ? 0 : uniqueIdCounter;
getStateHelper().put(PropertyKeys.uniqueIdCounter, (uniqueIdCounter+1));
return bld.append(UIViewRoot.UNIQUE_ID_PREFIX).append(uniqueIdCounter).toString();
diff --git a/api/src/main/java/jakarta/faces/component/UIOutcomeTarget.java b/api/src/main/java/jakarta/faces/component/UIOutcomeTarget.java
index 5dc039ba2..a49ff670e 100644
--- a/api/src/main/java/jakarta/faces/component/UIOutcomeTarget.java
+++ b/api/src/main/java/jakarta/faces/component/UIOutcomeTarget.java
@@ -49,9 +49,9 @@ public String getFamily()
@JSFProperty
public String getOutcome()
{
- String outcome = (String) getStateHelper().eval(PropertyKeys.outcome);
+ String outcome = getStateHelper().eval(PropertyKeys.outcome);
- if(outcome == null && isInView()) //default to the view id
+ if (outcome == null && isInView()) //default to the view id
{
return getFacesContext().getViewRoot().getViewId();
}
@@ -67,7 +67,7 @@ public void setOutcome(String outcome)
@JSFProperty(defaultValue="false")
public boolean isIncludeViewParams()
{
- return (Boolean) getStateHelper().eval(PropertyKeys.includeViewParams, DEFAULT_INCLUDEVIEWPARAMS);
+ return getStateHelper().eval(PropertyKeys.includeViewParams, DEFAULT_INCLUDEVIEWPARAMS);
}
public void setIncludeViewParams(boolean includeViewParams)
@@ -82,7 +82,7 @@ public void setIncludeViewParams(boolean includeViewParams)
@JSFProperty(defaultValue="false")
public boolean isDisableClientWindow()
{
- return (Boolean) getStateHelper().eval(PropertyKeys.disableClientWindow, DEFAULT_DISABLE_CLIENT_WINDOW);
+ return getStateHelper().eval(PropertyKeys.disableClientWindow, DEFAULT_DISABLE_CLIENT_WINDOW);
}
/**
diff --git a/api/src/main/java/jakarta/faces/component/UIOutput.java b/api/src/main/java/jakarta/faces/component/UIOutput.java
index 7a59a62fb..35d8cc747 100644
--- a/api/src/main/java/jakarta/faces/component/UIOutput.java
+++ b/api/src/main/java/jakarta/faces/component/UIOutput.java
@@ -123,7 +123,7 @@ public void setConverter(Converter converter)
private boolean _isSetConverter()
{
- Boolean value = (Boolean) getStateHelper().get(PropertyKeys.converterSet);
+ Boolean value = getStateHelper().get(PropertyKeys.converterSet);
return value == null ? false : value;
}
@@ -131,8 +131,7 @@ private boolean _isSetConverter()
public void markInitialState()
{
super.markInitialState();
- if (_converter != null &&
- _converter instanceof PartialStateHolder holder)
+ if (_converter != null && _converter instanceof PartialStateHolder holder)
{
holder.markInitialState();
}
diff --git a/api/src/main/java/jakarta/faces/component/UISelectOne.java b/api/src/main/java/jakarta/faces/component/UISelectOne.java
index fba4feaf2..58679c88c 100644
--- a/api/src/main/java/jakarta/faces/component/UISelectOne.java
+++ b/api/src/main/java/jakarta/faces/component/UISelectOne.java
@@ -229,7 +229,7 @@ public VisitResult visit(VisitContext visitContext, UIComponent target)
public String getGroup()
{
- return (String) getStateHelper().eval(PropertyKeys.group);
+ return getStateHelper().eval(PropertyKeys.group);
}
public void setGroup(String group)
diff --git a/api/src/main/java/jakarta/faces/component/UIViewAction.java b/api/src/main/java/jakarta/faces/component/UIViewAction.java
index 2e85a917f..30b251fa5 100644
--- a/api/src/main/java/jakarta/faces/component/UIViewAction.java
+++ b/api/src/main/java/jakarta/faces/component/UIViewAction.java
@@ -62,7 +62,7 @@ public UIViewAction()
@Override
public boolean isRendered()
{
- return (Boolean) getStateHelper().eval(PropertyKeys.renderedAttr, true);
+ return getStateHelper().eval(PropertyKeys.renderedAttr, true);
}
@Override
@@ -204,7 +204,7 @@ public void decode(FacesContext context)
@Override
public boolean isImmediate()
{
- return (Boolean) getStateHelper().eval(PropertyKeys.immediate, Boolean.FALSE);
+ return getStateHelper().eval(PropertyKeys.immediate, Boolean.FALSE);
}
@Override
@@ -217,7 +217,7 @@ public void setImmediate(boolean immediate)
@Override
public MethodExpression getActionExpression()
{
- return (MethodExpression) getStateHelper().eval(PropertyKeys.actionExpression);
+ return getStateHelper().eval(PropertyKeys.actionExpression);
}
@Override
@@ -249,7 +249,7 @@ public ActionListener[] getActionListeners()
@JSFProperty
public String getPhase()
{
- return (String) getStateHelper().get(PropertyKeys.phase);
+ return getStateHelper().get(PropertyKeys.phase);
}
public void setPhase(String phase)
@@ -260,7 +260,7 @@ public void setPhase(String phase)
@JSFProperty
public boolean isOnPostback()
{
- return (Boolean) getStateHelper().eval(PropertyKeys.onPostback, Boolean.FALSE);
+ return getStateHelper().eval(PropertyKeys.onPostback, Boolean.FALSE);
}
public void setOnPostback(boolean onPostback)
diff --git a/api/src/main/java/jakarta/faces/component/UIViewParameter.java b/api/src/main/java/jakarta/faces/component/UIViewParameter.java
index f3381e53b..b9315389f 100644
--- a/api/src/main/java/jakarta/faces/component/UIViewParameter.java
+++ b/api/src/main/java/jakarta/faces/component/UIViewParameter.java
@@ -99,7 +99,7 @@ public void encodeAll(FacesContext context) throws IOException
public String getName()
{
- return (String) getStateHelper().eval(PropertyKeys.name);
+ return getStateHelper().eval(PropertyKeys.name);
}
public String getStringValue(FacesContext context)
diff --git a/api/src/main/java/jakarta/faces/component/UIViewRoot.java b/api/src/main/java/jakarta/faces/component/UIViewRoot.java
index 9cf88f36e..a1933ff7e 100644
--- a/api/src/main/java/jakarta/faces/component/UIViewRoot.java
+++ b/api/src/main/java/jakarta/faces/component/UIViewRoot.java
@@ -479,8 +479,7 @@ public String createUniqueId(FacesContext context, String seed)
{
if (isResourceDependencyUniqueId())
{
- Integer uniqueIdCounter = (Integer) getStateHelper().get(
- PropertyKeys.resourceDependencyUniqueIdCounter);
+ Integer uniqueIdCounter = getStateHelper().get(PropertyKeys.resourceDependencyUniqueIdCounter);
uniqueIdCounter = (uniqueIdCounter == null) ? 0 : uniqueIdCounter;
getStateHelper().put(PropertyKeys.resourceDependencyUniqueIdCounter, (uniqueIdCounter+1));
if (uniqueIdCounter >= ComponentUtils.UNIQUE_COMPONENT_RD_IDS_SIZE)
@@ -495,7 +494,7 @@ public String createUniqueId(FacesContext context, String seed)
}
else
{
- Integer uniqueIdCounter = (Integer) getStateHelper().get(PropertyKeys.uniqueIdCounter);
+ Integer uniqueIdCounter = getStateHelper().get(PropertyKeys.uniqueIdCounter);
uniqueIdCounter = (uniqueIdCounter == null) ? 0 : uniqueIdCounter;
getStateHelper().put(PropertyKeys.uniqueIdCounter, (uniqueIdCounter+1));
if (uniqueIdCounter >= ComponentUtils.UNIQUE_COMPONENT_V_IDS_SIZE)
@@ -655,7 +654,7 @@ public void encodeEnd(FacesContext context) throws IOException
@JSFProperty(returnSignature = "void", methodSignature = "jakarta.faces.event.PhaseEvent", stateHolder=true)
public MethodExpression getAfterPhaseListener()
{
- return (MethodExpression) getStateHelper().eval(PropertyKeys.afterPhaseListener);
+ return getStateHelper().eval(PropertyKeys.afterPhaseListener);
}
/**
@@ -667,7 +666,7 @@ public MethodExpression getAfterPhaseListener()
@JSFProperty(returnSignature = "void", methodSignature = "jakarta.faces.event.PhaseEvent", stateHolder=true)
public MethodExpression getBeforePhaseListener()
{
- return (MethodExpression) getStateHelper().eval(PropertyKeys.beforePhaseListener);
+ return getStateHelper().eval(PropertyKeys.beforePhaseListener);
}
/**
@@ -832,7 +831,7 @@ else if (locale instanceof String string)
*/
public List<PhaseListener> getPhaseListeners()
{
- List<PhaseListener> listeners = (List<PhaseListener>) getStateHelper().get(PropertyKeys.phaseListeners);
+ List<PhaseListener> listeners = getStateHelper().get(PropertyKeys.phaseListeners);
if (listeners == null)
{
listeners = Collections.emptyList();
@@ -851,7 +850,7 @@ public List<PhaseListener> getPhaseListeners()
@JSFProperty
public String getRenderKitId()
{
- return (String) getStateHelper().eval(PropertyKeys.renderKitId);
+ return getStateHelper().eval(PropertyKeys.renderKitId);
}
/**
@@ -876,7 +875,7 @@ public boolean getRendersChildren()
@JSFProperty(tagExcluded = true)
public String getViewId()
{
- return (String) getStateHelper().get(PropertyKeys.viewId);
+ return getStateHelper().get(PropertyKeys.viewId);
}
/**
@@ -956,7 +955,8 @@ public void queueEvent(FacesEvent event)
}
List<FacesEvent> eventsByPhaseId = _events.get(event.getPhaseId());
- if (eventsByPhaseId == null) {
+ if (eventsByPhaseId == null)
+ {
eventsByPhaseId = new ArrayList<>(5);
_events.put(event.getPhaseId(), eventsByPhaseId);
}
@@ -1001,7 +1001,7 @@ public void setLocale(Locale locale)
private boolean notifyListeners(FacesContext context, PhaseId phaseId, MethodExpression listener,
boolean beforePhase)
{
- List<PhaseListener> phaseListeners = (List<PhaseListener>) getStateHelper().get(PropertyKeys.phaseListeners);
+ List<PhaseListener> phaseListeners = getStateHelper().get(PropertyKeys.phaseListeners);
// Check if any listener was called
boolean listenerCalled = false;
if (listener != null || (phaseListeners != null && !phaseListeners.isEmpty()))
@@ -1708,7 +1708,7 @@ public void subscribeToViewEvent(Class<? extends SystemEvent> systemEvent, Syste
listeners = _systemEventListeners.get(systemEvent);
if (listeners == null)
{
- listeners = new ArrayList<SystemEventListener>();
+ listeners = new ArrayList<>();
_systemEventListeners.put(systemEvent, listeners);
}
diff --git a/api/src/main/java/jakarta/faces/component/behavior/AjaxBehavior.java b/api/src/main/java/jakarta/faces/component/behavior/AjaxBehavior.java
index 329dae8ab..2868537c4 100644
--- a/api/src/main/java/jakarta/faces/component/behavior/AjaxBehavior.java
+++ b/api/src/main/java/jakarta/faces/component/behavior/AjaxBehavior.java
@@ -101,7 +101,7 @@ public void setExecute(Collection<String> execute)
public String getOnerror()
{
- return (String) getStateHelper().eval(ATTR_ON_ERROR);
+ return getStateHelper().eval(ATTR_ON_ERROR);
}
public void setOnerror(String onError)
@@ -111,7 +111,7 @@ public void setOnerror(String onError)
public String getOnevent()
{
- return (String) getStateHelper().eval(ATTR_ON_EVENT);
+ return getStateHelper().eval(ATTR_ON_EVENT);
}
public void setOnevent(String onEvent)
@@ -132,13 +132,11 @@ public void setRender(Collection<String> render)
getStateHelper().put(ATTR_RENDER, render);
}
- @SuppressWarnings("unchecked")
public ValueExpression getValueExpression(String name)
{
Assert.notNull(name, "name");
- Map<String,Object> bindings = (Map<String,Object>) getStateHelper().
- get(PropertyKeys.bindings);
+ Map<String,Object> bindings = getStateHelper().get(PropertyKeys.bindings);
if (bindings != null)
{
return (ValueExpression) bindings.get(name);
@@ -165,7 +163,7 @@ public void setValueExpression(String name, ValueExpression expression)
public boolean isDisabled()
{
- Boolean retVal = (Boolean) getStateHelper().eval(ATTR_DISABLED);
+ Boolean retVal = getStateHelper().eval(ATTR_DISABLED);
retVal = (retVal == null) ? false : retVal;
return retVal;
}
@@ -177,7 +175,7 @@ public void setDisabled(boolean disabled)
public boolean isImmediate()
{
- Boolean retVal = (Boolean) getStateHelper().eval(ATTR_IMMEDIATE);
+ Boolean retVal = getStateHelper().eval(ATTR_IMMEDIATE);
retVal = (retVal == null) ? false : retVal;
return retVal;
}
@@ -198,7 +196,7 @@ public boolean isImmediateSet()
*/
public boolean isResetValues()
{
- Boolean retVal = (Boolean) getStateHelper().eval(ATTR_RESET_VALUES);
+ Boolean retVal = getStateHelper().eval(ATTR_RESET_VALUES);
retVal = (retVal == null) ? false : retVal;
return retVal;
}
@@ -226,7 +224,7 @@ public boolean isResetValuesSet()
*/
public String getDelay()
{
- return (String) getStateHelper().eval(ATTR_DELAY);
+ return getStateHelper().eval(ATTR_DELAY);
}
/**
@@ -249,7 +247,7 @@ public void setDelay(String delay)
*/
public boolean isClearModel()
{
- Boolean result = (Boolean) getStateHelper().eval(ATTR_CLEAR_MODEL);
+ Boolean result = getStateHelper().eval(ATTR_CLEAR_MODEL);
return result != null ? result : false;
}
diff --git a/api/src/main/java/org/apache/myfaces/core/api/shared/SharedRendererUtils.java b/api/src/main/java/org/apache/myfaces/core/api/shared/SharedRendererUtils.java
index 907a185d2..70f29f025 100755
--- a/api/src/main/java/org/apache/myfaces/core/api/shared/SharedRendererUtils.java
+++ b/api/src/main/java/org/apache/myfaces/core/api/shared/SharedRendererUtils.java
@@ -121,10 +121,10 @@ public static Object getConvertedUISelectManyValue(FacesContext facesContext, UI
ValueExpression expression = component.getValueExpression("value");
Object targetForConvertedValues = null;
- Boolean isCollectionCase = false;
+ boolean isCollectionCase = false;
// if the component has an attached converter, use it
- Converter converter = component.getConverter();
+ Converter<?> converter = component.getConverter();
// at this point the valueType attribute is handled in shared.
if (converter == null && considerValueType)
{
@@ -410,9 +410,9 @@ else if (attribute instanceof Class class1)
* @param component
* @return
*/
- public static Converter getValueTypeConverter(FacesContext facesContext, UISelectMany component)
+ public static <T extends UISelectMany> Converter<?> getValueTypeConverter(FacesContext facesContext, T component)
{
- Converter converter = null;
+ Converter<?> converter = null;
Object valueTypeAttr = component.getAttributes().get(VALUE_TYPE_KEY);
if (valueTypeAttr != null)
@@ -455,13 +455,13 @@ public static Converter getValueTypeConverter(FacesContext facesContext, UISelec
* @param facesContext
* @return The first suitable Converter for the given SelectItems or null.
*/
- public static Converter getSelectItemsValueConverter(Iterator<SelectItem> iterator, FacesContext facesContext)
+ public static Converter<?> getSelectItemsValueConverter(Iterator<SelectItem> iterator, FacesContext facesContext)
{
// Attention!
// This code is duplicated in jsfapi component package.
// If you change something here please do the same in the other class!
- Converter converter = null;
+ Converter<?> converter = null;
while (converter == null && iterator.hasNext())
{
SelectItem item = iterator.next();
diff --git a/impl/src/main/java/org/apache/myfaces/push/WebsocketComponentRenderer.java b/impl/src/main/java/org/apache/myfaces/push/WebsocketComponentRenderer.java
index e04981e53..b9a78be82 100644
--- a/impl/src/main/java/org/apache/myfaces/push/WebsocketComponentRenderer.java
+++ b/impl/src/main/java/org/apache/myfaces/push/WebsocketComponentRenderer.java
@@ -98,7 +98,7 @@ public void encodeBegin(FacesContext facesContext, UIComponent component) throws
// Render the tag that will be embedded into the DOM tree that helps to detect if the message
// must be processed or not and if the connection must be closed.
writer.startElement(HTML.DIV_ELEM, component);
- writer.writeAttribute(HTML.ID_ATTR, component.getClientId() ,null);
+ writer.writeAttribute(HTML.ID_ATTR, component.getClientId(facesContext) ,null);
writer.writeAttribute(HTML.STYLE_ATTR, "display:none", null);
writer.endElement(HTML.DIV_ELEM);
@@ -211,7 +211,7 @@ public void encodeEnd(FacesContext facesContext, UIComponent c) throws IOExcepti
StringBuilder sb = new StringBuilder(50);
sb.append("faces.push.init(");
sb.append('\'');
- sb.append(component.getClientId());
+ sb.append(component.getClientId(facesContext));
sb.append('\'');
sb.append(',');
sb.append('\'');
diff --git a/impl/src/main/java/org/apache/myfaces/push/WebsocketInitRenderer.java b/impl/src/main/java/org/apache/myfaces/push/WebsocketInitRenderer.java
index 402518471..ddf744ae3 100644
--- a/impl/src/main/java/org/apache/myfaces/push/WebsocketInitRenderer.java
+++ b/impl/src/main/java/org/apache/myfaces/push/WebsocketInitRenderer.java
@@ -20,7 +20,6 @@
package org.apache.myfaces.push;
import java.io.IOException;
-import jakarta.faces.component.UIComponent;
import jakarta.faces.context.FacesContext;
import jakarta.faces.context.ResponseWriter;
import jakarta.faces.render.Renderer;
@@ -29,20 +28,19 @@
@JSFRenderer(renderKitId = "HTML_BASIC",
family = "jakarta.faces.Output",
type = "org.apache.myfaces.WebsocketInit")
-public class WebsocketInitRenderer extends Renderer
+public class WebsocketInitRenderer extends Renderer<WebsocketInit>
{
@Override
- public void encodeEnd(FacesContext facesContext, UIComponent component) throws IOException
+ public void encodeEnd(FacesContext facesContext, WebsocketInit component) throws IOException
{
super.encodeEnd(facesContext, component); //check for NP
- WebsocketInit init = (WebsocketInit) component;
ResponseWriter writer = facesContext.getResponseWriter();
// If two websocket share the same channel and scope, share init.
- for (int i = 0; i < init.getUIWebsocketMarkupList().size(); i++)
+ for (int i = 0; i < component.getUIWebsocketMarkupList().size(); i++)
{
- String markup = (String) init.getUIWebsocketMarkupList().get(i);
+ String markup = (String) component.getUIWebsocketMarkupList().get(i);
writer.write(markup);
}
}
diff --git a/impl/src/main/java/org/apache/myfaces/renderkit/LazyRenderKit.java b/impl/src/main/java/org/apache/myfaces/renderkit/LazyRenderKit.java
index 036ee1d2c..a8bcbc7c9 100644
--- a/impl/src/main/java/org/apache/myfaces/renderkit/LazyRenderKit.java
+++ b/impl/src/main/java/org/apache/myfaces/renderkit/LazyRenderKit.java
@@ -27,5 +27,5 @@
*/
public interface LazyRenderKit
{
- public void addRenderer(String componentFamily, String rendererType, String rendererClass);
+ void addRenderer(String componentFamily, String rendererType, String rendererClass);
}
diff --git a/impl/src/main/java/org/apache/myfaces/renderkit/RendererUtils.java b/impl/src/main/java/org/apache/myfaces/renderkit/RendererUtils.java
index 568d11812..a940df62a 100755
--- a/impl/src/main/java/org/apache/myfaces/renderkit/RendererUtils.java
+++ b/impl/src/main/java/org/apache/myfaces/renderkit/RendererUtils.java
@@ -381,10 +381,10 @@ else if (value instanceof Short short1)
* @return the Converter or null if no Converter specified or needed
* @throws FacesException if the Converter could not be created
*/
- public static Converter findUIOutputConverter(FacesContext facesContext,
- UIOutput component) throws FacesException
+ public static <T extends UIOutput> Converter<?> findUIOutputConverter(FacesContext facesContext,
+ T component) throws FacesException
{
- Converter converter = component.getConverter();
+ Converter<?> converter = component.getConverter();
if (converter != null)
{
return converter;
@@ -428,12 +428,12 @@ public static Converter findUIOutputConverter(FacesContext facesContext,
* @return the Converter or null if no Converter specified or needed
* @throws FacesException if the Converter could not be created
*/
- public static Converter findUISelectManyConverter(
- FacesContext facesContext, UISelectMany component,
- boolean considerValueType)
+ public static <T extends UISelectMany> Converter<?> findUISelectManyConverter(FacesContext facesContext,
+ T component,
+ boolean considerValueType)
{
// If the component has an attached Converter, use it.
- Converter converter = component.getConverter();
+ Converter<?> converter = component.getConverter();
if (converter != null)
{
return converter;
@@ -472,7 +472,8 @@ public static Converter findUISelectManyConverter(
if (Collection.class.isAssignableFrom(valueType) || Object.class.equals(valueType))
{
// try to get the by-type-converter from the type of the SelectItems
- return SharedRendererUtils.getSelectItemsValueConverter(new SelectItemsIterator(component, facesContext),
+ return SharedRendererUtils.getSelectItemsValueConverter(
+ new SelectItemsIterator(component, facesContext),
facesContext);
}
@@ -494,7 +495,8 @@ public static Converter findUISelectManyConverter(
{
// There is no converter for Object class
// try to get the by-type-converter from the type of the SelectItems
- return SharedRendererUtils.getSelectItemsValueConverter(new SelectItemsIterator(component, facesContext),
+ return SharedRendererUtils.getSelectItemsValueConverter(
+ new SelectItemsIterator(component, facesContext),
facesContext);
}
@@ -504,9 +506,7 @@ public static Converter findUISelectManyConverter(
}
catch (FacesException e)
{
- log.log(Level.SEVERE,
- "No Converter for type " + arrayComponentType.getName() + " found",
- e);
+ log.log(Level.SEVERE, "No Converter for type " + arrayComponentType.getName() + " found", e);
return null;
}
}
@@ -587,7 +587,7 @@ public static Set getSubmittedValuesAsSet(FacesContext context,
* @return Set containing all currently selected values
*/
public static Set getSelectedValuesAsSet(FacesContext context,
- UIComponent component, Converter converter,
+ UIComponent component, Converter<?> converter,
UISelectMany uiSelectMany)
{
Object selectedValues = uiSelectMany.getValue();
@@ -596,7 +596,7 @@ public static Set getSelectedValuesAsSet(FacesContext context,
}
private static Set internalSubmittedOrSelectedValuesAsSet(
- FacesContext context, UIComponent component, Converter converter,
+ FacesContext context, UIComponent component, Converter<?> converter,
UISelectMany uiSelectMany, Object values,
boolean allowNonArrayOrCollectionValue)
{
@@ -666,12 +666,12 @@ public static Object getConvertedUISelectOneValue(
FacesContext facesContext, UISelectOne output, Object submittedValue)
{
- if(submittedValue == null || "".equals(submittedValue))
+ if (submittedValue == null || "".equals(submittedValue))
{
if (log.isLoggable(Level.FINE))
{
log.fine("No conversion necessary for null / empty string UISelectOne value: client id "
- + output.getClientId());
+ + output.getClientId(facesContext));
}
return null;
}
@@ -683,7 +683,7 @@ public static Object getConvertedUISelectOneValue(
+ ComponentUtils.getPathToComponent(output) + "expected");
}
- Converter converter;
+ Converter<?> converter;
try
{
converter = findUIOutputConverter(facesContext, output);
@@ -808,14 +808,14 @@ public static String getIconSrc(final FacesContext facesContext,
// Faces 2.0: if "name" attribute is available, treat as a resource reference.
final Map<String, Object> attributes = component.getAttributes();
final String resourceName = (String) attributes.get(ComponentAttrs.NAME_ATTR);
- if (resourceName != null && (resourceName.length() > 0))
+ if (resourceName != null && !resourceName.isEmpty())
{
final ResourceHandler resourceHandler = facesContext.getApplication().getResourceHandler();
final Resource resource;
final String libraryName = (String) attributes.get(ComponentAttrs.LIBRARY_ATTR);
- if ((libraryName != null) && (libraryName.length() > 0))
+ if (libraryName != null && !libraryName.isEmpty())
{
resource = resourceHandler.createResource(resourceName, libraryName);
}
@@ -873,7 +873,7 @@ static public String toResourceUri(FacesContext facesContext, Object o)
// requested resource does not exist)
// EL implementation turns null into ""
// see http://www.irian.at/blog/blogid/unifiedElCoercion/#unifiedElCoercion
- if (uri.length() == 0)
+ if (uri.isEmpty())
{
return null;
}
diff --git a/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlDoctypeRenderer.java b/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlDoctypeRenderer.java
index 52a501f82..8e89c108a 100644
--- a/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlDoctypeRenderer.java
+++ b/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlDoctypeRenderer.java
@@ -36,7 +36,7 @@
*
*/
@JSFRenderer(renderKitId = "HTML_BASIC", family = "jakarta.faces.Output", type = "jakarta.faces.Doctype")
-public class HtmlDoctypeRenderer extends Renderer
+public class HtmlDoctypeRenderer extends Renderer<UIComponent>
{
@Override
diff --git a/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlFormRenderer.java b/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlFormRenderer.java
index 36c05976a..6bdc60823 100755
--- a/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlFormRenderer.java
+++ b/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlFormRenderer.java
@@ -21,6 +21,7 @@
import java.io.IOException;
import jakarta.faces.component.UIComponent;
+import jakarta.faces.component.UIForm;
import jakarta.faces.context.FacesContext;
import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFRenderer;
@@ -36,7 +37,7 @@
*/
@JSFRenderer(renderKitId = "HTML_BASIC", family = "jakarta.faces.Form", type = "jakarta.faces.Form")
public class HtmlFormRenderer
- extends HtmlFormRendererBase
+ extends HtmlFormRendererBase<UIForm>
{
@Override
protected void afterFormElementsEnd(FacesContext facesContext, UIComponent component) throws IOException
diff --git a/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlFormatRenderer.java b/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlFormatRenderer.java
index d4bc081c8..44a504b2c 100755
--- a/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlFormatRenderer.java
+++ b/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlFormatRenderer.java
@@ -50,7 +50,7 @@
* @version $Revision$ $Date$
*/
@JSFRenderer(renderKitId = "HTML_BASIC", family = "jakarta.faces.Output", type = "jakarta.faces.Format")
-public class HtmlFormatRenderer extends HtmlRenderer
+public class HtmlFormatRenderer extends HtmlRenderer<UIOutput>
{
private static final Logger log = Logger.getLogger(HtmlFormatRenderer.class.getName());
@@ -69,17 +69,17 @@ protected boolean isCommonEventsOptimizationEnabled(FacesContext facesContext)
}
@Override
- public void encodeBegin(FacesContext facesContext, UIComponent uiComponent) throws IOException
+ public void encodeBegin(FacesContext facesContext, UIOutput uiComponent) throws IOException
{
}
@Override
- public void encodeChildren(FacesContext facescontext, UIComponent uicomponent) throws IOException
+ public void encodeChildren(FacesContext facescontext, UIOutput uicomponent) throws IOException
{
}
@Override
- public void encodeEnd(FacesContext facesContext, UIComponent component) throws IOException
+ public void encodeEnd(FacesContext facesContext, UIOutput component) throws IOException
{
RendererUtils.checkParamValidity(facesContext, component, UIOutput.class);
diff --git a/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlHeadRenderer.java b/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlHeadRenderer.java
index ee0d8f6ba..9e775c0d2 100644
--- a/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlHeadRenderer.java
+++ b/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlHeadRenderer.java
@@ -40,7 +40,7 @@
* @version $Revision$ $Date$
*/
@JSFRenderer(renderKitId = "HTML_BASIC", family = "jakarta.faces.Output", type = "jakarta.faces.Head")
-public class HtmlHeadRenderer extends Renderer
+public class HtmlHeadRenderer extends Renderer<UIComponent>
{
private final static String PROFILE_ATTR = "profile";
diff --git a/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlHiddenRenderer.java b/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlHiddenRenderer.java
index 427c194f6..35dc537a3 100755
--- a/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlHiddenRenderer.java
+++ b/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlHiddenRenderer.java
@@ -41,7 +41,7 @@
* @version $Revision$ $Date$
*/
@JSFRenderer(renderKitId = "HTML_BASIC", family = "jakarta.faces.Input", type = "jakarta.faces.Hidden")
-public class HtmlHiddenRenderer extends HtmlRenderer
+public class HtmlHiddenRenderer extends HtmlRenderer<UIComponent>
{
@Override
public void encodeEnd(FacesContext facesContext, UIComponent uiComponent) throws IOException
diff --git a/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlBodyRendererBase.java b/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlBodyRendererBase.java
index 0aa71e7b3..976704ca3 100644
--- a/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlBodyRendererBase.java
+++ b/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlBodyRendererBase.java
@@ -42,11 +42,11 @@
*
* @since 2.0
*/
-public class HtmlBodyRendererBase extends HtmlRenderer
+public class HtmlBodyRendererBase<T extends UIComponent> extends HtmlRenderer<T>
{
@Override
- public void decode(FacesContext context, UIComponent component)
+ public void decode(FacesContext context, T component)
{
// check for npe
super.decode(context, component);
@@ -55,7 +55,7 @@ public void decode(FacesContext context, UIComponent component)
}
@Override
- public void encodeBegin(FacesContext facesContext, UIComponent component) throws IOException
+ public void encodeBegin(FacesContext facesContext, T component) throws IOException
{
super.encodeBegin(facesContext, component); //check for NP
@@ -121,7 +121,7 @@ else if (HtmlRendererUtils.isOutputHtml5Doctype(facesContext))
}
@Override
- public void encodeEnd(FacesContext facesContext, UIComponent component) throws IOException
+ public void encodeEnd(FacesContext facesContext, T component) throws IOException
{
super.encodeEnd(facesContext, component); //check for NP
diff --git a/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlButtonRendererBase.java b/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlButtonRendererBase.java
index cfba1e8ac..01050e31b 100644
--- a/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlButtonRendererBase.java
+++ b/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlButtonRendererBase.java
@@ -51,7 +51,7 @@
import org.apache.myfaces.core.api.shared.lang.SharedStringBuilder;
import org.apache.myfaces.renderkit.html.util.ComponentAttrs;
-public class HtmlButtonRendererBase extends HtmlRenderer
+public class HtmlButtonRendererBase<T extends UIComponent> extends HtmlRenderer<T>
{
private static final String SB_BUILD_BEHAVIORIZED_ONCLICK = HtmlButtonRendererBase.class.getName()
+ "#buildBehaviorizedOnClick";
@@ -64,7 +64,7 @@ public class HtmlButtonRendererBase extends HtmlRenderer
private static final String IMAGE_BUTTON_SUFFIX_Y = ".y";
@Override
- public void decode(FacesContext facesContext, UIComponent uiComponent)
+ public void decode(FacesContext facesContext, T uiComponent)
{
RendererUtils.checkParamValidity(facesContext, uiComponent, UICommand.class);
@@ -113,7 +113,7 @@ private static boolean isSubmitted(FacesContext facesContext, UIComponent uiComp
}
@Override
- public void encodeBegin(FacesContext facesContext, UIComponent uiComponent) throws IOException
+ public void encodeBegin(FacesContext facesContext, T uiComponent) throws IOException
{
RendererUtils.checkParamValidity(facesContext, uiComponent, UICommand.class);
diff --git a/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlCheckboxRendererBase.java b/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlCheckboxRendererBase.java
index f60a95528..c14d1a54f 100644
--- a/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlCheckboxRendererBase.java
+++ b/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlCheckboxRendererBase.java
@@ -556,15 +556,15 @@ else if (component instanceof UISelectMany many)
* @param component
* @return
*/
- protected Converter getConverter(FacesContext facesContext, UIComponent component)
+ protected <T extends UIComponent> Converter<?> getConverter(FacesContext facesContext, T component)
{
- if (component instanceof UISelectMany)
+ if (component instanceof UISelectMany selectMany)
{
- return HtmlRendererUtils.findUISelectManyConverterFailsafe(facesContext, component);
+ return HtmlRendererUtils.findUISelectManyConverterFailsafe(facesContext, selectMany);
}
- else if (component instanceof UISelectOne)
+ else if (component instanceof UISelectOne selectOne)
{
- return HtmlRendererUtils.findUIOutputConverterFailSafe(facesContext, component);
+ return HtmlRendererUtils.findUIOutputConverterFailSafe(facesContext, selectOne);
}
return null;
}
diff --git a/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlFormRendererBase.java b/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlFormRendererBase.java
index c5c70ab32..ab2728597 100644
--- a/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlFormRendererBase.java
+++ b/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlFormRendererBase.java
@@ -41,7 +41,7 @@
import org.apache.myfaces.renderkit.html.util.HTML;
import org.apache.myfaces.renderkit.html.util.ComponentAttrs;
-public class HtmlFormRendererBase extends HtmlRenderer
+public class HtmlFormRendererBase<T extends UIForm> extends HtmlRenderer<T>
{
private static final Logger LOGGER = Logger.getLogger(HtmlFormRendererBase.class.getName());
@@ -52,7 +52,7 @@ public class HtmlFormRendererBase extends HtmlRenderer
private static final String SCROLL_HIDDEN_INPUT = "org.apache.myfaces.SCROLL_HIDDEN_INPUT";
private static final String SHARED_STRING_BUILDER = HtmlFormRendererBase.class.getName() + ".SHARED_STRING_BUILDER";
-
+
private MyfacesConfig myfacesConfig;
public HtmlFormRendererBase()
@@ -61,12 +61,10 @@ public HtmlFormRendererBase()
}
@Override
- public void encodeBegin(FacesContext facesContext, UIComponent component) throws IOException
+ public void encodeBegin(FacesContext facesContext, T component) throws IOException
{
RendererUtils.checkParamValidity(facesContext, component, UIForm.class);
- UIForm htmlForm = (UIForm)component;
-
if (facesContext.isProjectStage(ProjectStage.Development) && !((UIForm) component).isPrependId())
{
LOGGER.warning(
@@ -74,10 +72,10 @@ public void encodeBegin(FacesContext facesContext, UIComponent component) throws
}
ResponseWriter writer = facesContext.getResponseWriter();
- String clientId = htmlForm.getClientId(facesContext);
- String acceptCharset = getAcceptCharset(facesContext, htmlForm);
- String actionURL = getActionUrl(facesContext, htmlForm);
- String method = getMethod(facesContext, htmlForm);
+ String clientId = component.getClientId(facesContext);
+ String acceptCharset = getAcceptCharset(facesContext, component);
+ String actionURL = getActionUrl(facesContext, component);
+ String method = getMethod(facesContext, component);
Map<String, List<ClientBehavior>> behaviors = getClientBehaviors(component);
if (behaviors != null && !behaviors.isEmpty())
@@ -85,7 +83,7 @@ public void encodeBegin(FacesContext facesContext, UIComponent component) throws
ResourceUtils.renderDefaultJsfJsInlineIfNecessary(facesContext, writer);
}
- writer.startElement(HTML.FORM_ELEM, htmlForm);
+ writer.startElement(HTML.FORM_ELEM, component);
writer.writeAttribute(HTML.ID_ATTR, clientId, null);
writer.writeAttribute(HTML.NAME_ATTR, clientId, null);
writer.writeAttribute(HTML.METHOD_ATTR, method, null);
@@ -97,11 +95,11 @@ public void encodeBegin(FacesContext facesContext, UIComponent component) throws
String encodedActionURL = facesContext.getExternalContext().encodeActionURL(actionURL);
writer.writeURIAttribute(HTML.ACTION_ATTR, encodedActionURL, null);
- Long commonPropertiesMarked = getCommonPropertiesMarked(facesContext, htmlForm);
+ Long commonPropertiesMarked = getCommonPropertiesMarked(facesContext, component);
if (behaviors != null)
{
- renderEventHandlers(facesContext, writer, htmlForm, behaviors, commonPropertiesMarked);
+ renderEventHandlers(facesContext, writer, component, behaviors, commonPropertiesMarked);
}
if (commonPropertiesMarked != null)
@@ -116,11 +114,11 @@ public void encodeBegin(FacesContext facesContext, UIComponent component) throws
CommonHtmlAttributesUtil.renderCommonPassthroughProperties(
writer, commonPropertiesMarked, component);
}
- HtmlRendererUtils.renderHTMLAttributes(writer, htmlForm, HTML.FORM_ATTRIBUTES);
+ HtmlRendererUtils.renderHTMLAttributes(writer, component, HTML.FORM_ATTRIBUTES);
}
else
{
- HtmlRendererUtils.renderHTMLAttributes(writer, htmlForm,
+ HtmlRendererUtils.renderHTMLAttributes(writer, component,
behaviors != null
? HTML.FORM_PASSTHROUGH_ATTRIBUTES_WITHOUT_EVENTS
: HTML.FORM_PASSTHROUGH_ATTRIBUTES);
@@ -149,23 +147,23 @@ public void encodeBegin(FacesContext facesContext, UIComponent component) throws
afterFormElementsStart(facesContext, component);
}
- protected String getActionUrl(FacesContext facesContext, UIForm form)
+ protected String getActionUrl(FacesContext facesContext, T form)
{
return getActionUrl(facesContext);
}
- protected String getMethod(FacesContext facesContext, UIForm form)
+ protected String getMethod(FacesContext facesContext, T form)
{
return "post";
}
- protected String getAcceptCharset(FacesContext facesContext, UIForm form )
+ protected String getAcceptCharset(FacesContext facesContext, T form)
{
return (String)form.getAttributes().get(ComponentAttrs.ACCEPTCHARSET_ATTR );
}
@Override
- public void encodeEnd(FacesContext facesContext, UIComponent component) throws IOException
+ public void encodeEnd(FacesContext facesContext, T component) throws IOException
{
ResponseWriter writer = facesContext.getResponseWriter();
@@ -181,7 +179,7 @@ public void encodeEnd(FacesContext facesContext, UIComponent component) throws I
writer.endElement(HTML.FORM_ELEM);
}
- protected void renderViewStateAndHiddenFields(FacesContext facesContext, UIComponent component) throws IOException
+ protected void renderViewStateAndHiddenFields(FacesContext facesContext, T component) throws IOException
{
ResponseWriter writer = facesContext.getResponseWriter();
@@ -212,7 +210,7 @@ protected void renderViewStateAndHiddenFields(FacesContext facesContext, UICompo
}
}
- private static String getScrollHiddenInputName(FacesContext facesContext, UIComponent form)
+ private static String getScrollHiddenInputName(FacesContext facesContext, UIForm form)
{
StringBuilder sb = SharedStringBuilder.get(facesContext, SHARED_STRING_BUILDER,
SCROLL_HIDDEN_INPUT.length() + 20);
@@ -223,13 +221,11 @@ private static String getScrollHiddenInputName(FacesContext facesContext, UIComp
}
@Override
- public void decode(FacesContext facesContext, UIComponent component)
+ public void decode(FacesContext facesContext, T component)
{
RendererUtils.checkParamValidity(facesContext, component, UIForm.class);
- UIForm htmlForm = (UIForm)component;
-
- Map paramMap = facesContext.getExternalContext().getRequestParameterMap();
+ Map<String, String> paramMap = facesContext.getExternalContext().getRequestParameterMap();
// Perf: initialize StringBuilder to maximal length used in this renderer, render_response
// method will re-use it without capacity expanding
StringBuilder sb = SharedStringBuilder.get(facesContext, SHARED_STRING_BUILDER, 100);
@@ -237,20 +233,19 @@ public void decode(FacesContext facesContext, UIComponent component)
sb.append(component.getClientId(facesContext)).append(HIDDEN_SUBMIT_INPUT_SUFFIX));
if (submittedValue != null && submittedValue.equals(HIDDEN_SUBMIT_INPUT_VALUE))
{
- htmlForm.setSubmitted(true);
+ component.setSubmitted(true);
}
else
{
- htmlForm.setSubmitted(false);
+ component.setSubmitted(false);
}
ClientBehaviorRendererUtils.decodeClientBehaviors(facesContext, component);
}
- public static void renderScrollHiddenInputIfNecessary(
- UIComponent form, FacesContext facesContext, ResponseWriter writer)
- throws IOException
+ public static void renderScrollHiddenInputIfNecessary(UIForm form, FacesContext facesContext, ResponseWriter writer)
+ throws IOException
{
if (form == null)
{
@@ -269,7 +264,7 @@ public static void renderScrollHiddenInputIfNecessary(
* Called before the state and any elements are added to the form tag in the
* encodeBegin method
*/
- protected void beforeFormElementsStart(FacesContext facesContext, UIComponent component)
+ protected void beforeFormElementsStart(FacesContext facesContext, T component)
throws IOException
{
@@ -279,7 +274,7 @@ protected void beforeFormElementsStart(FacesContext facesContext, UIComponent co
* Called after the state and any elements are added to the form tag in the
* encodeBegin method
*/
- protected void afterFormElementsStart(FacesContext facesContext, UIComponent component)
+ protected void afterFormElementsStart(FacesContext facesContext, T component)
throws IOException
{
@@ -289,7 +284,7 @@ protected void afterFormElementsStart(FacesContext facesContext, UIComponent com
* Called before the state and any elements are added to the form tag in the
* encodeEnd method
*/
- protected void beforeFormElementsEnd(FacesContext facesContext, UIComponent component)
+ protected void beforeFormElementsEnd(FacesContext facesContext, T component)
throws IOException
{
diff --git a/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlGridRendererBase.java b/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlGridRendererBase.java
index fadee2a5a..0df85b2f0 100644
--- a/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlGridRendererBase.java
+++ b/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlGridRendererBase.java
@@ -43,7 +43,7 @@
import org.apache.myfaces.renderkit.html.util.HTML;
import org.apache.myfaces.renderkit.html.util.ComponentAttrs;
-public class HtmlGridRendererBase extends HtmlRenderer
+public class HtmlGridRendererBase<T extends UIComponent> extends HtmlRenderer<T>
{
private static final Logger log = Logger.getLogger(HtmlGridRendererBase.class.getName());
@@ -56,7 +56,7 @@ public boolean getRendersChildren()
}
@Override
- public void decode(FacesContext context, UIComponent component)
+ public void decode(FacesContext context, T component)
{
// Check for npe
super.decode(context, component);
@@ -65,13 +65,13 @@ public void decode(FacesContext context, UIComponent component)
}
@Override
- public void encodeBegin(FacesContext facesContext, UIComponent component) throws IOException
+ public void encodeBegin(FacesContext facesContext, T component) throws IOException
{
// all work done in encodeEnd()
}
@Override
- public void encodeChildren(FacesContext context, UIComponent component)
+ public void encodeChildren(FacesContext context, T component)
throws IOException
{
// all work done in encodeEnd()
diff --git a/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlGroupRendererBase.java b/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlGroupRendererBase.java
index 46e35d5a1..44984786b 100644
--- a/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlGroupRendererBase.java
+++ b/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlGroupRendererBase.java
@@ -36,7 +36,7 @@
import org.apache.myfaces.renderkit.html.util.ResourceUtils;
import org.apache.myfaces.renderkit.html.util.HTML;
-public class HtmlGroupRendererBase extends HtmlRenderer
+public class HtmlGroupRendererBase<T extends UIComponent> extends HtmlRenderer<T>
{
private static final String LAYOUT_BLOCK_VALUE = "block";
@@ -47,7 +47,7 @@ public boolean getRendersChildren()
}
@Override
- public void decode(FacesContext context, UIComponent component)
+ public void decode(FacesContext context, T component)
{
// Check for npe
super.decode(context, component);
@@ -56,7 +56,7 @@ public void decode(FacesContext context, UIComponent component)
}
@Override
- public void encodeBegin(FacesContext context, UIComponent component) throws IOException
+ public void encodeBegin(FacesContext context, T component) throws IOException
{
RendererUtils.checkParamValidity(context, component, UIPanel.class);
if (!needsWrapper(context, component))
@@ -67,13 +67,13 @@ public void encodeBegin(FacesContext context, UIComponent component) throws IOEx
}
@Override
- public void encodeChildren(FacesContext context, UIComponent component) throws IOException
+ public void encodeChildren(FacesContext context, T component) throws IOException
{
RendererUtils.renderChildren(context, component);
}
@Override
- public void encodeEnd(FacesContext context, UIComponent component) throws IOException
+ public void encodeEnd(FacesContext context, T component) throws IOException
{
if (!needsWrapper(context, component))
{
diff --git a/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlImageRendererBase.java b/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlImageRendererBase.java
index c3205402b..13fa2a266 100644
--- a/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlImageRendererBase.java
+++ b/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlImageRendererBase.java
@@ -28,7 +28,6 @@
import java.util.logging.Logger;
import jakarta.faces.application.ProjectStage;
-import jakarta.faces.component.UIComponent;
import jakarta.faces.component.UIGraphic;
import jakarta.faces.component.behavior.ClientBehavior;
import jakarta.faces.component.behavior.ClientBehaviorHolder;
@@ -41,12 +40,12 @@
import org.apache.myfaces.renderkit.html.util.HTML;
import org.apache.myfaces.renderkit.html.util.ComponentAttrs;
-public class HtmlImageRendererBase extends HtmlRenderer
+public class HtmlImageRendererBase<T extends UIGraphic> extends HtmlRenderer<T>
{
private static final Logger log = Logger.getLogger(HtmlImageRendererBase.class.getName());
@Override
- public void decode(FacesContext context, UIComponent component)
+ public void decode(FacesContext context, T component)
{
super.decode(context, component);
@@ -54,30 +53,30 @@ public void decode(FacesContext context, UIComponent component)
}
@Override
- public void encodeEnd(FacesContext facesContext, UIComponent uiComponent) throws IOException
+ public void encodeEnd(FacesContext facesContext, T component) throws IOException
{
- RendererUtils.checkParamValidity(facesContext, uiComponent, UIGraphic.class);
+ RendererUtils.checkParamValidity(facesContext, component, UIGraphic.class);
ResponseWriter writer = facesContext.getResponseWriter();
- Map<String, List<ClientBehavior>> behaviors = getClientBehaviors(uiComponent);
+ Map<String, List<ClientBehavior>> behaviors = getClientBehaviors(component);
if (behaviors != null && !behaviors.isEmpty())
{
ResourceUtils.renderDefaultJsfJsInlineIfNecessary(facesContext, writer);
}
- writer.startElement(HTML.IMG_ELEM, uiComponent);
+ writer.startElement(HTML.IMG_ELEM, component);
- if (uiComponent instanceof ClientBehaviorHolder && !behaviors.isEmpty())
+ if (component instanceof ClientBehaviorHolder && !behaviors.isEmpty())
{
- HtmlRendererUtils.writeIdAndName(writer, uiComponent, facesContext);
+ HtmlRendererUtils.writeIdAndName(writer, component, facesContext);
}
else
{
- HtmlRendererUtils.writeIdIfNecessary(writer, uiComponent, facesContext);
+ HtmlRendererUtils.writeIdIfNecessary(writer, component, facesContext);
}
- final String url = RendererUtils.getIconSrc(facesContext, uiComponent, ComponentAttrs.URL_ATTR);
+ final String url = RendererUtils.getIconSrc(facesContext, component, ComponentAttrs.URL_ATTR);
if (url != null)
{
writer.writeURIAttribute(HTML.SRC_ATTR, url,ComponentAttrs.VALUE_ATTR);
@@ -89,52 +88,52 @@ public void encodeEnd(FacesContext facesContext, UIComponent uiComponent) throws
: Level.WARNING;
if (log.isLoggable(level))
{
- log.log(level, "Component UIGraphic " + uiComponent.getClientId(facesContext)
+ log.log(level, "Component UIGraphic " + component.getClientId(facesContext)
+ " has no attribute url, value, name or attribute resolves to null. Path to component "
- + ComponentUtils.getPathToComponent(uiComponent));
+ + ComponentUtils.getPathToComponent(component));
}
}
/*
* Warn the user if the ALT attribute is missing.
*/
- if (uiComponent.getAttributes().get(HTML.ALT_ATTR) == null)
+ if (component.getAttributes().get(HTML.ALT_ATTR) == null)
{
Level level = facesContext.isProjectStage(ProjectStage.Production)
? Level.FINE
: Level.WARNING;
if (log.isLoggable(level))
{
- log.log(level, "Component UIGraphic " + uiComponent.getClientId(facesContext)
+ log.log(level, "Component UIGraphic " + component.getClientId(facesContext)
+ " has no attribute alt or attribute resolves to null. Path to component "
- + ComponentUtils.getPathToComponent(uiComponent));
+ + ComponentUtils.getPathToComponent(component));
}
}
- Long commonPropertiesMarked = getCommonPropertiesMarked(facesContext, uiComponent);
+ Long commonPropertiesMarked = getCommonPropertiesMarked(facesContext, component);
if (behaviors != null)
{
- renderEventHandlers(facesContext, writer, uiComponent, behaviors, commonPropertiesMarked);
+ renderEventHandlers(facesContext, writer, component, behaviors, commonPropertiesMarked);
}
if (commonPropertiesMarked != null)
{
- HtmlRendererUtils.renderHTMLAttributes(writer, uiComponent, HTML.IMG_ATTRIBUTES);
+ HtmlRendererUtils.renderHTMLAttributes(writer, component, HTML.IMG_ATTRIBUTES);
if (behaviors != null)
{
CommonHtmlAttributesUtil.renderCommonPassthroughPropertiesWithoutEvents(
- writer, commonPropertiesMarked, uiComponent);
+ writer, commonPropertiesMarked, component);
}
else
{
CommonHtmlAttributesUtil.renderCommonPassthroughProperties(
- writer, commonPropertiesMarked, uiComponent);
+ writer, commonPropertiesMarked, component);
}
}
else
{
- HtmlRendererUtils.renderHTMLAttributes(writer, uiComponent,
+ HtmlRendererUtils.renderHTMLAttributes(writer, component,
behaviors != null
? HTML.IMG_PASSTHROUGH_ATTRIBUTES_WITHOUT_EVENTS
: HTML.IMG_PASSTHROUGH_ATTRIBUTES);
diff --git a/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlInputFileRendererBase.java b/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlInputFileRendererBase.java
index 7acc6de20..aac879673 100644
--- a/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlInputFileRendererBase.java
+++ b/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlInputFileRendererBase.java
@@ -22,7 +22,6 @@
import org.apache.myfaces.renderkit.html.util.ClientBehaviorRendererUtils;
import org.apache.myfaces.renderkit.html.util.CommonHtmlAttributesUtil;
import jakarta.faces.component.UIComponent;
-import jakarta.faces.component.UIInput;
import jakarta.faces.context.FacesContext;
import jakarta.faces.context.ResponseWriter;
import jakarta.faces.convert.ConverterException;
@@ -51,16 +50,16 @@
import org.apache.myfaces.renderkit.html.util.HTML;
import org.apache.myfaces.core.api.shared.lang.Assert;
-public class HtmlInputFileRendererBase extends HtmlRenderer
+public class HtmlInputFileRendererBase<T extends HtmlInputFile> extends HtmlRenderer<T>
{
private static final Logger log = Logger.getLogger(HtmlInputFileRendererBase.class.getName());
@Override
- public void decode(FacesContext facesContext, UIComponent component)
+ public void decode(FacesContext facesContext, T component)
{
try
{
- String clientId = component.getClientId();
+ String clientId = component.getClientId(facesContext);
HttpServletRequest request = (HttpServletRequest) facesContext.getExternalContext().getRequest();
Collection<Part> parts = request.getParts();
Collection<Part> submittedValues = new ArrayList<>(parts.size());
@@ -72,13 +71,13 @@ public void decode(FacesContext facesContext, UIComponent component)
submittedValues.add(wrapper);
}
}
- if (((HtmlInputFile) component).isMultiple())
+ if (component.isMultiple())
{
- ((UIInput) component).setSubmittedValue(submittedValues);
+ component.setSubmittedValue(submittedValues);
}
else if (!submittedValues.isEmpty())
{
- ((UIInput) component).setSubmittedValue(submittedValues.iterator().next());
+ component.setSubmittedValue(submittedValues.iterator().next());
}
}
catch (IOException | ServletException e)
@@ -93,7 +92,7 @@ else if (!submittedValues.isEmpty())
}
@Override
- public void encodeEnd(FacesContext facesContext, UIComponent component)
+ public void encodeEnd(FacesContext facesContext, T component)
throws IOException
{
renderInput(facesContext, component);
@@ -104,21 +103,21 @@ public void encodeEnd(FacesContext facesContext, UIComponent component)
facesContext.getPartialViewContext().isAjaxRequest()))
{
UIForm form = ComponentUtils.findClosest(UIForm.class, component);
- if (form != null && form instanceof HtmlForm htmlForm)
+ if (form instanceof HtmlForm htmlForm)
{
String content = htmlForm.getEnctype();
if (content == null || !content.contains("multipart/form-data"))
{
FacesMessage message = new FacesMessage("file upload requires a form with"+
" enctype equal to multipart/form-data");
- facesContext.addMessage(component.getClientId(), message);
+ facesContext.addMessage(component.getClientId(facesContext), message);
}
}
}
}
@Override
- public Object getConvertedValue(FacesContext context, UIComponent component, Object submittedValue)
+ public Object getConvertedValue(FacesContext context, T component, Object submittedValue)
throws ConverterException
{
Assert.notNull(context, "context");
diff --git a/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlLinkRendererBase.java b/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlLinkRendererBase.java
index 8a7ed7a58..9c7679799 100644
--- a/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlLinkRendererBase.java
+++ b/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlLinkRendererBase.java
@@ -55,7 +55,7 @@
import org.apache.myfaces.core.api.shared.lang.SharedStringBuilder;
import org.apache.myfaces.renderkit.html.util.ComponentAttrs;
-public abstract class HtmlLinkRendererBase extends HtmlRenderer
+public abstract class HtmlLinkRendererBase<T extends UIComponent> extends HtmlRenderer<T>
{
public static final String END_LINK_OUTCOME_AS_SPAN =
"oam.shared.HtmlLinkRendererBase.END_LINK_OUTCOME_AS_SPAN";
@@ -81,7 +81,7 @@ public boolean getRendersChildren()
}
@Override
- public void decode(FacesContext facesContext, UIComponent component)
+ public void decode(FacesContext facesContext, T component)
{
super.decode(facesContext, component); //check for NP
@@ -123,7 +123,7 @@ else if (component instanceof UIOutput)
}
@Override
- public void encodeBegin(FacesContext facesContext, UIComponent component) throws IOException
+ public void encodeBegin(FacesContext facesContext, T component) throws IOException
{
super.encodeBegin(facesContext, component); //check for NP
@@ -194,7 +194,7 @@ public void encodeChildren(FacesContext facesContext, UIComponent component) thr
}
@Override
- public void encodeEnd(FacesContext facesContext, UIComponent component) throws IOException
+ public void encodeEnd(FacesContext facesContext, T component) throws IOException
{
super.encodeEnd(facesContext, component); //check for NP
diff --git a/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlListboxRendererBase.java b/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlListboxRendererBase.java
index 5bc94578b..4f2690f4d 100644
--- a/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlListboxRendererBase.java
+++ b/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlListboxRendererBase.java
@@ -120,13 +120,13 @@ public void decode(FacesContext facesContext, UIComponent uiComponent)
{
RendererUtils.checkParamValidity(facesContext, uiComponent, null);
- if (uiComponent instanceof UISelectMany)
+ if (uiComponent instanceof UISelectMany selectMany)
{
- HtmlRendererUtils.decodeUISelectMany(facesContext, uiComponent);
+ HtmlRendererUtils.decodeUISelectMany(facesContext, selectMany);
}
- else if (uiComponent instanceof UISelectOne)
+ else if (uiComponent instanceof UISelectOne selectOne)
{
- HtmlRendererUtils.decodeUISelectOne(facesContext, uiComponent);
+ HtmlRendererUtils.decodeUISelectOne(facesContext, selectOne);
}
else
{
@@ -168,17 +168,15 @@ else if (uiComponent instanceof UISelectOne one)
* @param component
* @return
*/
- protected Converter getConverter(FacesContext facesContext,
- UIComponent component)
+ protected <T extends UIComponent> Converter<?> getConverter(FacesContext facesContext, T component)
{
- if (component instanceof UISelectMany)
+ if (component instanceof UISelectMany selectMany)
{
- return HtmlRendererUtils.findUISelectManyConverterFailsafe(facesContext,
- component);
+ return HtmlRendererUtils.findUISelectManyConverterFailsafe(facesContext, selectMany);
}
- else if (component instanceof UISelectOne)
+ else if (component instanceof UISelectOne selectOne)
{
- return HtmlRendererUtils.findUIOutputConverterFailSafe(facesContext, component);
+ return HtmlRendererUtils.findUIOutputConverterFailSafe(facesContext, selectOne);
}
return null;
}
diff --git a/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlMenuRendererBase.java b/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlMenuRendererBase.java
index 390969cfd..eccea1a90 100644
--- a/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlMenuRendererBase.java
+++ b/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlMenuRendererBase.java
@@ -111,13 +111,13 @@ public void decode(FacesContext facesContext, UIComponent uiComponent)
{
RendererUtils.checkParamValidity(facesContext, uiComponent, null);
- if (uiComponent instanceof UISelectMany)
+ if (uiComponent instanceof UISelectMany selectMany)
{
- HtmlRendererUtils.decodeUISelectMany(facesContext, uiComponent);
+ HtmlRendererUtils.decodeUISelectMany(facesContext, selectMany);
}
- else if (uiComponent instanceof UISelectOne)
+ else if (uiComponent instanceof UISelectOne selectOne)
{
- HtmlRendererUtils.decodeUISelectOne(facesContext, uiComponent);
+ HtmlRendererUtils.decodeUISelectOne(facesContext, selectOne);
}
else
{
@@ -160,15 +160,15 @@ else if (uiComponent instanceof UISelectOne one)
* @param component
* @return
*/
- protected Converter getConverter(FacesContext facesContext, UIComponent component)
+ protected <T extends UIComponent> Converter<?> getConverter(FacesContext facesContext, T component)
{
- if (component instanceof UISelectMany)
+ if (component instanceof UISelectMany selectMany)
{
- return HtmlRendererUtils.findUISelectManyConverterFailsafe(facesContext, component);
+ return HtmlRendererUtils.findUISelectManyConverterFailsafe(facesContext, selectMany);
}
- else if (component instanceof UISelectOne)
+ else if (component instanceof UISelectOne selectOne)
{
- return HtmlRendererUtils.findUIOutputConverterFailSafe(facesContext, component);
+ return HtmlRendererUtils.findUIOutputConverterFailSafe(facesContext, selectOne);
}
return null;
}
diff --git a/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlMessageRendererBase.java b/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlMessageRendererBase.java
index bcc720e4c..3829fca6b 100644
--- a/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlMessageRendererBase.java
+++ b/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlMessageRendererBase.java
@@ -43,8 +43,8 @@
import org.apache.myfaces.renderkit.html.util.HTML;
import org.apache.myfaces.renderkit.html.util.ComponentAttrs;
-public abstract class HtmlMessageRendererBase
- extends HtmlRenderer
+public abstract class HtmlMessageRendererBase<T extends UIComponent>
+ extends HtmlRenderer<T>
{
private static final Logger log = Logger.getLogger(HtmlMessageRendererBase.class.getName());
@@ -329,22 +329,22 @@ public static String[] getStyleAndStyleClass(UIComponent message,
String styleClass = null;
if (message instanceof HtmlMessage htmlMessage)
{
- if (severity == FacesMessage.SEVERITY_INFO)
+ if (severity == FacesMessage.Severity.INFO)
{
style = htmlMessage.getInfoStyle();
styleClass = htmlMessage.getInfoClass();
}
- else if (severity == FacesMessage.SEVERITY_WARN)
+ else if (severity == FacesMessage.Severity.WARN)
{
style = htmlMessage.getWarnStyle();
styleClass = htmlMessage.getWarnClass();
}
- else if (severity == FacesMessage.SEVERITY_ERROR)
+ else if (severity == FacesMessage.Severity.ERROR)
{
style = htmlMessage.getErrorStyle();
styleClass = htmlMessage.getErrorClass();
}
- else if (severity == FacesMessage.SEVERITY_FATAL)
+ else if (severity == FacesMessage.Severity.FATAL)
{
style = htmlMessage.getFatalStyle();
styleClass = htmlMessage.getFatalClass();
@@ -363,22 +363,22 @@ else if (severity == FacesMessage.SEVERITY_FATAL)
else
{
Map<String, Object> attr = message.getAttributes();
- if (severity == FacesMessage.SEVERITY_INFO)
+ if (severity == FacesMessage.Severity.INFO)
{
style = (String) attr.get(ComponentAttrs.INFO_STYLE_ATTR);
styleClass = (String) attr.get(ComponentAttrs.INFO_CLASS_ATTR);
}
- else if (severity == FacesMessage.SEVERITY_WARN)
+ else if (severity == FacesMessage.Severity.WARN)
{
style = (String) attr.get(ComponentAttrs.WARN_STYLE_ATTR);
styleClass = (String) attr.get(ComponentAttrs.WARN_CLASS_ATTR);
}
- else if (severity == FacesMessage.SEVERITY_ERROR)
+ else if (severity == FacesMessage.Severity.ERROR)
{
style = (String) attr.get(ComponentAttrs.ERROR_STYLE_ATTR);
styleClass = (String) attr.get(ComponentAttrs.ERROR_CLASS_ATTR);
}
- else if (severity == FacesMessage.SEVERITY_FATAL)
+ else if (severity == FacesMessage.Severity.FATAL)
{
style = (String) attr.get(ComponentAttrs.FATAL_STYLE_ATTR);
styleClass = (String) attr.get(ComponentAttrs.FATAL_CLASS_ATTR);
diff --git a/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlMessagesRendererBase.java b/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlMessagesRendererBase.java
index ebb728056..4a939fb0d 100644
--- a/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlMessagesRendererBase.java
+++ b/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlMessagesRendererBase.java
@@ -45,7 +45,7 @@
import org.apache.myfaces.renderkit.html.util.HTML;
import org.apache.myfaces.renderkit.html.util.ComponentAttrs;
-public abstract class HtmlMessagesRendererBase extends HtmlMessageRendererBase
+public abstract class HtmlMessagesRendererBase<T extends UIComponent> extends HtmlMessageRendererBase<T>
{
private static final Logger log = Logger.getLogger(HtmlMessagesRendererBase.class.getName());
diff --git a/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlOutcomeTargetButtonRendererBase.java b/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlOutcomeTargetButtonRendererBase.java
index 054aae5bd..1499f3006 100644
--- a/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlOutcomeTargetButtonRendererBase.java
+++ b/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlOutcomeTargetButtonRendererBase.java
@@ -40,7 +40,7 @@
import org.apache.myfaces.renderkit.html.util.HTML;
import org.apache.myfaces.renderkit.html.util.ComponentAttrs;
-public class HtmlOutcomeTargetButtonRendererBase extends HtmlRenderer
+public class HtmlOutcomeTargetButtonRendererBase<T extends UIComponent> extends HtmlRenderer<T>
{
@Override
public boolean getRendersChildren()
@@ -49,16 +49,16 @@ public boolean getRendersChildren()
}
@Override
- public void encodeBegin(FacesContext facesContext, UIComponent uiComponent) throws IOException
+ public void encodeBegin(FacesContext facesContext, T component) throws IOException
{
- super.encodeBegin(facesContext, uiComponent); //check for NP
+ super.encodeBegin(facesContext, component); //check for NP
- String clientId = uiComponent.getClientId(facesContext);
+ String clientId = component.getClientId(facesContext);
ResponseWriter writer = facesContext.getResponseWriter();
Map<String, List<ClientBehavior>> behaviors = null;
- if (uiComponent instanceof ClientBehaviorHolder holder)
+ if (component instanceof ClientBehaviorHolder holder)
{
behaviors = holder.getClientBehaviors();
if (!behaviors.isEmpty())
@@ -67,12 +67,12 @@ public void encodeBegin(FacesContext facesContext, UIComponent uiComponent) thro
}
}
- writer.startElement(HTML.INPUT_ELEM, uiComponent);
+ writer.startElement(HTML.INPUT_ELEM, component);
writer.writeAttribute(HTML.ID_ATTR, clientId, ComponentAttrs.ID_ATTR);
writer.writeAttribute(HTML.NAME_ATTR, clientId, ComponentAttrs.ID_ATTR);
- String image = getImage(uiComponent);
+ String image = getImage(component);
ExternalContext externalContext = facesContext.getExternalContext();
if (image != null)
@@ -86,7 +86,7 @@ public void encodeBegin(FacesContext facesContext, UIComponent uiComponent) thro
{
// type="button"
writer.writeAttribute(HTML.TYPE_ATTR, HTML.INPUT_TYPE_BUTTON, ComponentAttrs.TYPE_ATTR);
- Object value = RendererUtils.getStringValue(facesContext, uiComponent);
+ Object value = RendererUtils.getStringValue(facesContext, component);
if (value != null)
{
writer.writeAttribute(HTML.VALUE_ATTR, value, ComponentAttrs.VALUE_ATTR);
@@ -94,9 +94,9 @@ public void encodeBegin(FacesContext facesContext, UIComponent uiComponent) thro
}
String outcomeTargetHref = HtmlRendererUtils.getOutcomeTargetHref(
- facesContext, (UIOutcomeTarget) uiComponent);
+ facesContext, (UIOutcomeTarget) component);
- if (HtmlRendererUtils.isDisabled(uiComponent) || outcomeTargetHref == null)
+ if (HtmlRendererUtils.isDisabled(component) || outcomeTargetHref == null)
{
// disable the button - if disabled is true or no fitting NavigationCase was found
HtmlRendererUtils.renderHTMLAttribute(writer, HTML.DISABLED_ATTR, HTML.DISABLED_ATTR, true);
@@ -106,13 +106,13 @@ public void encodeBegin(FacesContext facesContext, UIComponent uiComponent) thro
// render onClick attribute
String href = facesContext.getExternalContext().encodeResourceURL(outcomeTargetHref);
- String commandOnClick = (String) uiComponent.getAttributes().get(HTML.ONCLICK_ATTR);
+ String commandOnClick = (String) component.getAttributes().get(HTML.ONCLICK_ATTR);
String navigationJavaScript = "window.location.href = '" + href + '\'';
if (behaviors != null && !behaviors.isEmpty())
{
HtmlRendererUtils.renderBehaviorizedAttribute(facesContext, writer, HTML.ONCLICK_ATTR,
- uiComponent, ClientBehaviorEvents.CLICK, null, behaviors, HTML.ONCLICK_ATTR,
+ component, ClientBehaviorEvents.CLICK, null, behaviors, HTML.ONCLICK_ATTR,
commandOnClick, navigationJavaScript);
}
else
@@ -130,75 +130,73 @@ public void encodeBegin(FacesContext facesContext, UIComponent uiComponent) thro
}
}
- if (isCommonPropertiesOptimizationEnabled(facesContext))
+ Long commonPropertiesMarked = getCommonPropertiesMarked(facesContext, component);
+ if (commonPropertiesMarked != null)
{
- long commonPropertiesMarked = CommonHtmlAttributesUtil.getMarkedAttributes(uiComponent);
-
- if (behaviors != null && !behaviors.isEmpty() && uiComponent instanceof ClientBehaviorHolder)
+ if (behaviors != null && !behaviors.isEmpty() && component instanceof ClientBehaviorHolder)
{
HtmlRendererUtils.renderBehaviorizedEventHandlersWithoutOnclick(
- facesContext, writer, uiComponent, behaviors);
+ facesContext, writer, component, behaviors);
HtmlRendererUtils.renderBehaviorizedFieldEventHandlersWithoutOnchangeAndOnselect(
- facesContext, writer, uiComponent, behaviors);
+ facesContext, writer, component, behaviors);
}
else
{
CommonHtmlAttributesUtil.renderEventPropertiesWithoutOnclick(
- writer, commonPropertiesMarked, uiComponent);
- CommonHtmlAttributesUtil.renderFocusBlurEventProperties(writer, commonPropertiesMarked, uiComponent);
+ writer, commonPropertiesMarked, component);
+ CommonHtmlAttributesUtil.renderFocusBlurEventProperties(writer, commonPropertiesMarked, component);
}
CommonHtmlAttributesUtil.renderCommonFieldPassthroughPropertiesWithoutDisabledAndEvents(
- writer, commonPropertiesMarked, uiComponent);
+ writer, commonPropertiesMarked, component);
if ((commonPropertiesMarked & CommonHtmlAttributes.ALT) != 0)
{
- HtmlRendererUtils.renderHTMLStringAttribute(writer, uiComponent,
+ HtmlRendererUtils.renderHTMLStringAttribute(writer, component,
HTML.ALT_ATTR, HTML.ALT_ATTR);
}
}
else
{
- if (uiComponent instanceof ClientBehaviorHolder)
+ if (component instanceof ClientBehaviorHolder)
{
HtmlRendererUtils.renderBehaviorizedEventHandlersWithoutOnclick(
- facesContext, writer, uiComponent, behaviors);
+ facesContext, writer, component, behaviors);
HtmlRendererUtils.renderBehaviorizedFieldEventHandlersWithoutOnchangeAndOnselect(
- facesContext, writer, uiComponent, behaviors);
+ facesContext, writer, component, behaviors);
}
else
{
- HtmlRendererUtils.renderHTMLAttributes(writer, uiComponent,
+ HtmlRendererUtils.renderHTMLAttributes(writer, component,
HTML.EVENT_HANDLER_ATTRIBUTES_WITHOUT_ONCLICK);
- HtmlRendererUtils.renderHTMLAttributes(writer, uiComponent,
+ HtmlRendererUtils.renderHTMLAttributes(writer, component,
HTML.COMMON_FIELD_EVENT_ATTRIBUTES_WITHOUT_ONSELECT_AND_ONCHANGE);
-
}
- HtmlRendererUtils.renderHTMLAttributes(writer, uiComponent,
+ HtmlRendererUtils.renderHTMLAttributes(writer, component,
HTML.COMMON_FIELD_PASSTROUGH_ATTRIBUTES_WITHOUT_DISABLED_AND_EVENTS);
- HtmlRendererUtils.renderHTMLStringAttribute(writer, uiComponent,
+ HtmlRendererUtils.renderHTMLStringAttribute(writer, component,
HTML.ALT_ATTR, HTML.ALT_ATTR);
}
writer.flush();
}
- private String getImage(UIComponent uiComponent)
+ private String getImage(UIComponent component)
{
- if (uiComponent instanceof HtmlOutcomeTargetButton button)
+ if (component instanceof HtmlOutcomeTargetButton button)
{
return button.getImage();
}
- return (String) uiComponent.getAttributes().get(ComponentAttrs.IMAGE_ATTR);
+ return (String) component.getAttributes().get(ComponentAttrs.IMAGE_ATTR);
}
@Override
- public void encodeChildren(FacesContext facesContext, UIComponent component) throws IOException
+ public void encodeChildren(FacesContext facesContext, T component) throws IOException
{
RendererUtils.renderChildren(facesContext, component);
}
@Override
- public void encodeEnd(FacesContext facesContext, UIComponent component) throws IOException
+ public void encodeEnd(FacesContext facesContext, T component) throws IOException
{
super.encodeEnd(facesContext, component); //check for NP
diff --git a/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlRadioRendererBase.java b/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlRadioRendererBase.java
index 1d46726ce..c68188748 100644
--- a/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlRadioRendererBase.java
+++ b/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlRadioRendererBase.java
@@ -58,7 +58,7 @@
import org.apache.myfaces.renderkit.html.util.HTML;
import org.apache.myfaces.renderkit.html.util.ComponentAttrs;
-public class HtmlRadioRendererBase extends HtmlRenderer
+public class HtmlRadioRendererBase<T extends UIComponent> extends HtmlRenderer<T>
{
private static final Logger log = Logger.getLogger(HtmlRadioRendererBase.class.getName());
@@ -71,7 +71,7 @@ public class HtmlRadioRendererBase extends HtmlRenderer
Collections.unmodifiableSet(EnumSet.of(VisitHint.SKIP_UNRENDERED, VisitHint.SKIP_ITERATION));
@Override
- public void encodeEnd(FacesContext facesContext, UIComponent uiComponent) throws IOException
+ public void encodeEnd(FacesContext facesContext, T uiComponent) throws IOException
{
RendererUtils.checkParamValidity(facesContext, uiComponent, UISelectOne.class);
@@ -561,12 +561,12 @@ protected boolean isDisabled(FacesContext facesContext, UIComponent uiComponent)
}
@Override
- public void decode(FacesContext facesContext, UIComponent uiComponent)
+ public void decode(FacesContext facesContext, T uiComponent)
{
RendererUtils.checkParamValidity(facesContext, uiComponent, null);
- if (uiComponent instanceof UIInput)
+ if (uiComponent instanceof UISelectOne selectOne)
{
- HtmlRendererUtils.decodeUISelectOne(facesContext, uiComponent);
+ HtmlRendererUtils.decodeUISelectOne(facesContext, selectOne);
}
if (uiComponent instanceof ClientBehaviorHolder && !HtmlRendererUtils.isDisabled(uiComponent))
{
@@ -575,7 +575,7 @@ public void decode(FacesContext facesContext, UIComponent uiComponent)
}
@Override
- public Object getConvertedValue(FacesContext facesContext, UIComponent uiComponent, Object submittedValue)
+ public Object getConvertedValue(FacesContext facesContext, T uiComponent, Object submittedValue)
throws ConverterException
{
RendererUtils.checkParamValidity(facesContext, uiComponent, UISelectOne.class);
@@ -608,7 +608,7 @@ public VisitResult visit(VisitContext context, UIComponent target)
{
if (target instanceof UISelectOne one)
{
- UISelectOne targetSelectOneRadio =one;
+ UISelectOne targetSelectOneRadio = one;
String targetGroup = targetSelectOneRadio.getGroup();
if (group.equals(targetGroup))
{
diff --git a/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlRenderer.java b/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlRenderer.java
index d9b3f037a..310c59638 100644
--- a/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlRenderer.java
+++ b/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlRenderer.java
@@ -36,8 +36,8 @@
import org.apache.myfaces.renderkit.html.util.HtmlRendererUtils;
import org.apache.myfaces.renderkit.html.util.ComponentAttrs;
-public abstract class HtmlRenderer
- extends Renderer
+public abstract class HtmlRenderer<T extends UIComponent>
+ extends Renderer<T>
{
/**
diff --git a/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlSecretRendererBase.java b/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlSecretRendererBase.java
index 9633e2e4f..650f3f3d1 100644
--- a/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlSecretRendererBase.java
+++ b/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlSecretRendererBase.java
@@ -43,12 +43,12 @@
/**
* see Spec.1.0 EA - Faces.7.6.4 Renderer Types for UIInput Components
*/
-public class HtmlSecretRendererBase extends HtmlRenderer
+public class HtmlSecretRendererBase<T extends UIInput> extends HtmlRenderer<T>
{
private static final String AUTOCOMPLETE_VALUE_OFF = "off";
@Override
- public void encodeBegin(FacesContext facesContext, UIComponent uiComponent) throws IOException
+ public void encodeBegin(FacesContext facesContext, T uiComponent) throws IOException
{
RendererUtils.checkParamValidity(facesContext, uiComponent, UIInput.class);
@@ -68,7 +68,7 @@ public void encodeBegin(FacesContext facesContext, UIComponent uiComponent) thro
}
@Override
- public void encodeEnd(FacesContext facesContext, UIComponent uiComponent)
+ public void encodeEnd(FacesContext facesContext, T uiComponent)
throws IOException
{
renderInputEnd(facesContext, uiComponent);
@@ -76,7 +76,7 @@ public void encodeEnd(FacesContext facesContext, UIComponent uiComponent)
//Subclasses can set the value of an attribute before, or can render a custom attribute after calling this method
- protected void renderInputBegin(FacesContext facesContext, UIComponent uiComponent) throws IOException
+ protected void renderInputBegin(FacesContext facesContext, T uiComponent) throws IOException
{
ResponseWriter writer = facesContext.getResponseWriter();
@@ -184,7 +184,7 @@ protected boolean isAutocompleteOff(FacesContext facesContext, UIComponent compo
}
@Override
- public void decode(FacesContext facesContext, UIComponent component)
+ public void decode(FacesContext facesContext, T component)
{
RendererUtils.checkParamValidity(facesContext, component, UIInput.class);
@@ -196,7 +196,7 @@ public void decode(FacesContext facesContext, UIComponent component)
}
@Override
- public Object getConvertedValue(FacesContext facesContext, UIComponent uiComponent, Object submittedValue)
+ public Object getConvertedValue(FacesContext facesContext, T uiComponent, Object submittedValue)
throws ConverterException
{
RendererUtils.checkParamValidity(facesContext, uiComponent, UIOutput.class);
diff --git a/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlSelectableRendererBase.java b/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlSelectableRendererBase.java
index a6b6236c5..743c90ea8 100644
--- a/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlSelectableRendererBase.java
+++ b/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlSelectableRendererBase.java
@@ -37,7 +37,7 @@
import org.apache.myfaces.renderkit.html.util.SelectItemsUtils;
import org.apache.myfaces.renderkit.html.util.HTML;
-public class HtmlSelectableRendererBase extends HtmlRenderer
+public class HtmlSelectableRendererBase<T extends UIComponent> extends HtmlRenderer<T>
{
protected void internalRenderSelect(FacesContext facesContext,
@@ -122,8 +122,7 @@ protected void internalRenderSelect(FacesContext facesContext,
writer.writeAttribute(HTML.READONLY_ATTR, HTML.READONLY_ATTR, null);
}
- Set lookupSet = HtmlRendererUtils.getSubmittedOrSelectedValuesAsSet(selectMany,
- uiComponent, facesContext, converter);
+ Set lookupSet = HtmlRendererUtils.getSubmittedOrSelectedValuesAsSet(uiComponent, facesContext, converter);
SelectItemsUtils.renderSelectOptions(facesContext, uiComponent, converter, lookupSet, selectItemList);
// bug #970747: force separate end tag
diff --git a/impl/src/main/java/org/apache/myfaces/renderkit/html/util/HtmlRendererUtils.java b/impl/src/main/java/org/apache/myfaces/renderkit/html/util/HtmlRendererUtils.java
index 417fd03a2..c24bb423e 100644
--- a/impl/src/main/java/org/apache/myfaces/renderkit/html/util/HtmlRendererUtils.java
+++ b/impl/src/main/java/org/apache/myfaces/renderkit/html/util/HtmlRendererUtils.java
@@ -118,13 +118,13 @@ public static void decodeUIInput(FacesContext facesContext, UIComponent componen
+ component.getClientId(facesContext)
+ " is not an EditableValueHolder");
}
- Map paramMap = facesContext.getExternalContext().getRequestParameterMap();
+ Map<String, String> paramMap = facesContext.getExternalContext().getRequestParameterMap();
String clientId = component.getClientId(facesContext);
if (isDisabledOrReadOnly(component))
{
return;
}
- String submittedValue = (String) paramMap.get(clientId);
+ String submittedValue = paramMap.get(clientId);
if (submittedValue != null)
{
((EditableValueHolder) component).setSubmittedValue(submittedValue);
@@ -153,9 +153,9 @@ public static void decodeUISelectBoolean(FacesContext facesContext, UIComponent
{
return;
}
- Map paramMap = facesContext.getExternalContext().getRequestParameterMap();
+ Map<String, String> paramMap = facesContext.getExternalContext().getRequestParameterMap();
String clientId = component.getClientId(facesContext);
- String reqValue = (String) paramMap.get(clientId);
+ String reqValue = paramMap.get(clientId);
if (reqValue != null)
{
if ((reqValue.equalsIgnoreCase("on")
@@ -331,18 +331,18 @@ public static void decodeUISelectMany(FacesContext facesContext, UIComponent com
+ component.getClientId(facesContext)
+ " is not an EditableValueHolder");
}
-
- Map paramValuesMap = facesContext.getExternalContext().getRequestParameterValuesMap();
+
+ Map<String, String[]> paramValuesMap = facesContext.getExternalContext().getRequestParameterValuesMap();
String clientId = component.getClientId(facesContext);
if (isDisabledOrReadOnly(component))
{
return;
}
- String[] paramValues = (String[]) paramValuesMap.get(clientId);
+ String[] paramValues = paramValuesMap.get(clientId);
if (paramValues != null)
{
- ArrayList<String> reqValues = new ArrayList<String>(Arrays.asList(paramValues));
+ ArrayList<String> reqValues = new ArrayList<>(Arrays.asList(paramValues));
List<SelectItemInfo> selections = SelectItemsUtils.getSelectItemInfoList(
(UISelectMany) component, facesContext);
@@ -378,63 +378,54 @@ public static void decodeUISelectMany(FacesContext facesContext, UIComponent com
* @param facesContext
* @param component
*/
- public static void decodeUISelectOne(FacesContext facesContext, UIComponent component)
+ public static void decodeUISelectOne(FacesContext facesContext, UISelectOne component)
{
- if (!(component instanceof EditableValueHolder))
- {
- throw new IllegalArgumentException("Component "
- + component.getClientId(facesContext)
- + " is not an EditableValueHolder");
- }
if (isDisabledOrReadOnly(component))
{
return;
}
- Map paramMap = facesContext.getExternalContext().getRequestParameterMap();
- if (component instanceof UISelectOne one)
+ Map<String, String> paramMap = facesContext.getExternalContext().getRequestParameterMap();
+
+ String group = component.getGroup();
+ if (group != null && !group.isEmpty())
{
- String group = one.getGroup();
- if (group != null && !group.isEmpty())
+ UIForm form = ComponentUtils.findClosest(UIForm.class, component);
+ String fullGroupId = form.getClientId(facesContext) +
+ facesContext.getNamingContainerSeparatorChar() + group;
+ String submittedValue = paramMap.get(fullGroupId);
+ if (submittedValue != null)
{
- UIForm form = ComponentUtils.findClosest(UIForm.class, component);
- String fullGroupId = form.getClientId(facesContext) +
- facesContext.getNamingContainerSeparatorChar() + group;
- String submittedValue = (String) paramMap.get(fullGroupId);
- if (submittedValue != null)
+ String componentClientId = component.getClientId(facesContext);
+ String submittedValueNamespace = componentClientId +
+ facesContext.getNamingContainerSeparatorChar();
+ if (submittedValue.startsWith(submittedValueNamespace))
{
- String componentClientId = component.getClientId(facesContext);
- String submittedValueNamespace = componentClientId +
- facesContext.getNamingContainerSeparatorChar();
- if (submittedValue.startsWith(submittedValueNamespace))
- {
- submittedValue = submittedValue.substring(submittedValueNamespace.length());
- SelectOneGroupSetSubmittedValueCallback callback =
- new SelectOneGroupSetSubmittedValueCallback(group,
- submittedValue,
- componentClientId,
- component.getValueExpression("value") != null);
- form.visitTree(VisitContext.createVisitContext(facesContext,
- null, MyFacesVisitHints.SET_SKIP_UNRENDERED),
- callback);
- }
+ submittedValue = submittedValue.substring(submittedValueNamespace.length());
+ SelectOneGroupSetSubmittedValueCallback callback =
+ new SelectOneGroupSetSubmittedValueCallback(group,
+ submittedValue,
+ componentClientId,
+ component.getValueExpression("value") != null);
+ form.visitTree(VisitContext.createVisitContext(facesContext,
+ null, MyFacesVisitHints.SET_SKIP_UNRENDERED),
+ callback);
}
- else
- {
- // means input was not submitted. set to empty string so we can validate required fields
- // if not set, a null value will skip validation -- see beginning of UIInput#validate
- one.setSubmittedValue(RendererUtils.EMPTY_STRING);
- }
- return;
}
+ else
+ {
+ // means input was not submitted. set to empty string so we can validate required fields
+ // if not set, a null value will skip validation -- see beginning of UIInput#validate
+ component.setSubmittedValue(RendererUtils.EMPTY_STRING);
+ }
+ return;
}
String clientId = component.getClientId(facesContext);
- String submittedValue = (String) paramMap.get(clientId);
+ String submittedValue = paramMap.get(clientId);
if (submittedValue != null)
{
- List<SelectItemInfo> selections = SelectItemsUtils.getSelectItemInfoList(
- (UISelectOne) component, facesContext);
+ List<SelectItemInfo> selections = SelectItemsUtils.getSelectItemInfoList(component, facesContext);
// if disabled value is submitted, do not use it
for(SelectItemInfo itemInfo: selections)
@@ -451,12 +442,12 @@ public static void decodeUISelectOne(FacesContext facesContext, UIComponent comp
}
}
//request parameter found, set submitted value
- ((EditableValueHolder) component).setSubmittedValue(submittedValue);
+ component.setSubmittedValue(submittedValue);
}
else
{
//see reason for this action at decodeUISelectMany
- ((EditableValueHolder) component).setSubmittedValue(RendererUtils.EMPTY_STRING);
+ component.setSubmittedValue(RendererUtils.EMPTY_STRING);
}
}
@@ -483,7 +474,7 @@ public VisitResult visit(VisitContext context, UIComponent target)
{
if (target instanceof UISelectOne one)
{
- UISelectOne targetSelectOneRadio =one;
+ UISelectOne targetSelectOneRadio = one;
String targetGroup = targetSelectOneRadio.getGroup();
if (group.equals(targetGroup))
{
@@ -528,23 +519,20 @@ public VisitResult visit(VisitContext context, UIComponent target)
}
}
- public static Set getSubmittedOrSelectedValuesAsSet(boolean selectMany,
- UIComponent uiComponent, FacesContext facesContext, Converter converter)
+ public static Set getSubmittedOrSelectedValuesAsSet(UIComponent uiComponent, FacesContext facesContext,
+ Converter<?> converter)
{
- Set lookupSet;
- if (selectMany)
+ Set lookupSet = null;
+ if (uiComponent instanceof UISelectMany uiSelectMany)
{
- UISelectMany uiSelectMany = (UISelectMany) uiComponent;
lookupSet = RendererUtils.getSubmittedValuesAsSet(facesContext, uiComponent, converter, uiSelectMany);
if (lookupSet == null)
{
- lookupSet = RendererUtils.getSelectedValuesAsSet(facesContext,
- uiComponent, converter, uiSelectMany);
+ lookupSet = RendererUtils.getSelectedValuesAsSet(facesContext, uiComponent, converter, uiSelectMany);
}
}
- else
+ else if (uiComponent instanceof UISelectOne uiSelectOne)
{
- UISelectOne uiSelectOne = (UISelectOne) uiComponent;
Object lookup = uiSelectOne.getSubmittedValue();
if (lookup == null)
{
@@ -565,44 +553,45 @@ else if (RendererUtils.EMPTY_STRING.equals(lookup))
return lookupSet;
}
- public static Converter findUISelectManyConverterFailsafe(FacesContext facesContext, UIComponent uiComponent)
+ public static <T extends UISelectMany> Converter<?> findUISelectManyConverterFailsafe(FacesContext facesContext,
+ T component)
{
// invoke with considerValueType = false
- return findUISelectManyConverterFailsafe(facesContext, uiComponent, false);
+ return findUISelectManyConverterFailsafe(facesContext, component, false);
}
- public static Converter findUISelectManyConverterFailsafe(FacesContext facesContext, UIComponent uiComponent,
+ public static <T extends UISelectMany> Converter<?> findUISelectManyConverterFailsafe(FacesContext facesContext,
+ T component,
boolean considerValueType)
{
- Converter converter;
+ Converter<?> converter;
try
{
- converter = RendererUtils.findUISelectManyConverter(facesContext,
- (UISelectMany) uiComponent, considerValueType);
+ converter = RendererUtils.findUISelectManyConverter(facesContext, component, considerValueType);
}
catch (FacesException e)
{
log.log(Level.SEVERE,
- "Error finding Converter for component with id "
- + uiComponent.getClientId(facesContext), e);
+ "Error finding Converter for component with id " + component.getClientId(facesContext), e);
converter = null;
}
return converter;
}
- public static Converter findUIOutputConverterFailSafe(FacesContext facesContext, UIComponent uiComponent)
+ public static <T extends UIOutput> Converter<?> findUIOutputConverterFailSafe(FacesContext facesContext,
+ T component)
{
- Converter converter;
+ Converter<?> converter;
try
{
- converter = RendererUtils.findUIOutputConverter(facesContext, (UIOutput) uiComponent);
+ converter = RendererUtils.findUIOutputConverter(facesContext, component);
}
catch (FacesException e)
{
log.log(Level.SEVERE,
"Error finding Converter for component with id "
- + uiComponent.getClientId(facesContext) + " "
- + ComponentUtils.getPathToComponent(uiComponent), e);
+ + component.getClientId(facesContext) + " "
+ + ComponentUtils.getPathToComponent(component), e);
converter = null;
}
return converter;
@@ -887,12 +876,12 @@ public static void renderDisplayValueOnlyForSelects(FacesContext facesContext, U
ResponseWriter writer = facesContext.getResponseWriter();
List<SelectItem> selectItemList = null;
- Converter converter = null;
+ Converter<?> converter = null;
boolean isSelectOne = false;
if (uiComponent instanceof UISelectBoolean boolean1)
{
- converter = findUIOutputConverterFailSafe(facesContext, uiComponent);
+ converter = findUIOutputConverterFailSafe(facesContext, boolean1);
writer.startElement(HTML.SPAN_ELEM, uiComponent);
writeIdIfNecessary(writer, uiComponent, facesContext);
@@ -905,25 +894,23 @@ public static void renderDisplayValueOnlyForSelects(FacesContext facesContext, U
}
else
{
- if (uiComponent instanceof UISelectMany)
+ if (uiComponent instanceof UISelectMany selectMany)
{
isSelectOne = false;
selectItemList = RendererUtils.getSelectItemList(uiComponent, facesContext);
- converter = findUISelectManyConverterFailsafe(facesContext, uiComponent, considerValueType);
+ converter = findUISelectManyConverterFailsafe(facesContext, selectMany, considerValueType);
}
- else if (uiComponent instanceof UISelectOne)
+ else if (uiComponent instanceof UISelectOne selectOne)
{
isSelectOne = true;
selectItemList = RendererUtils.getSelectItemList(uiComponent, facesContext);
- converter = findUIOutputConverterFailSafe(facesContext, uiComponent);
+ converter = findUIOutputConverterFailSafe(facesContext, selectOne);
}
writer.startElement(isSelectOne ? HTML.SPAN_ELEM : HTML.UL_ELEM, uiComponent);
writeIdIfNecessary(writer, uiComponent, facesContext);
- Set lookupSet = getSubmittedOrSelectedValuesAsSet(
- uiComponent instanceof UISelectMany, uiComponent,
- facesContext, converter);
+ Set lookupSet = getSubmittedOrSelectedValuesAsSet(uiComponent, facesContext, converter);
renderSelectOptionsAsText(facesContext, uiComponent, converter,
lookupSet, selectItemList, isSelectOne);
@@ -1036,9 +1023,7 @@ public static void appendClearHiddenCommandFormParamsFunctionCall(
HtmlJavaScriptUtils.appendClearHiddenCommandFormParamsFunctionCall(buf, formName);
}
- @SuppressWarnings("unchecked")
- public static void renderFormSubmitScript(FacesContext facesContext)
- throws IOException
+ public static void renderFormSubmitScript(FacesContext facesContext) throws IOException
{
HtmlJavaScriptUtils.renderFormSubmitScript(facesContext);
}
@@ -1088,7 +1073,7 @@ public static void renderLabel(ResponseWriter writer,
{
writer.writeAttribute("class", labelClass, "labelClass");
}
- if ((item.getLabel() != null) && (item.getLabel().length() > 0))
+ if (item.getLabel() != null && !item.getLabel().isEmpty())
{
writer.write(" ");
if (item.isEscape())
@@ -1119,8 +1104,7 @@ public static void renderLabel(ResponseWriter writer,
}
else
{
- labelClass = (String) component.getAttributes()
- .get(ComponentAttrs.ENABLED_CLASS_ATTR);
+ labelClass = (String) component.getAttributes().get(ComponentAttrs.ENABLED_CLASS_ATTR);
}
String labelSelectedClass = null;
if (selected)
@@ -1146,7 +1130,7 @@ public static void renderLabel(ResponseWriter writer,
{
writer.writeAttribute("class", labelClass, "labelClass");
}
- if ((item.getLabel() != null) && (item.getLabel().length() > 0))
+ if (item.getLabel() != null && !item.getLabel().isEmpty())
{
writer.write(HTML.NBSP_ENTITY);
if (item.isEscape())
diff --git a/impl/src/main/java/org/apache/myfaces/view/facelets/component/RepeatRenderer.java b/impl/src/main/java/org/apache/myfaces/view/facelets/component/RepeatRenderer.java
index 0d6bbabe5..fe159d590 100644
--- a/impl/src/main/java/org/apache/myfaces/view/facelets/component/RepeatRenderer.java
+++ b/impl/src/main/java/org/apache/myfaces/view/facelets/component/RepeatRenderer.java
@@ -32,7 +32,7 @@
@JSFRenderer(family="facelets",
renderKitId="HTML_BASIC",
type="facelets.ui.Repeat")
-public class RepeatRenderer extends Renderer
+public class RepeatRenderer extends Renderer<UIRepeat>
{
public RepeatRenderer()
@@ -41,13 +41,13 @@ public RepeatRenderer()
}
@Override
- public void encodeBegin(FacesContext context, UIComponent component) throws IOException
+ public void encodeBegin(FacesContext context, UIRepeat component) throws IOException
{
}
@Override
- public void encodeChildren(FacesContext context, UIComponent component) throws IOException
+ public void encodeChildren(FacesContext context, UIRepeat component) throws IOException
{
if (component.getChildCount() > 0)
{
@@ -91,7 +91,7 @@ public void encodeChildren(FacesContext context, UIComponent component) throws I
}
@Override
- public void encodeEnd(FacesContext context, UIComponent component) throws IOException
+ public void encodeEnd(FacesContext context, UIRepeat component) throws IOException
{
}
diff --git a/impl/src/main/java/org/apache/myfaces/view/facelets/component/UIRepeat.java b/impl/src/main/java/org/apache/myfaces/view/facelets/component/UIRepeat.java
index f165fc6b1..099c83e40 100644
--- a/impl/src/main/java/org/apache/myfaces/view/facelets/component/UIRepeat.java
+++ b/impl/src/main/java/org/apache/myfaces/view/facelets/component/UIRepeat.java
@@ -148,7 +148,7 @@ public String getFamily()
@JSFProperty
public int getOffset()
{
- return (Integer) getStateHelper().eval(PropertyKeys.offset, 0);
+ return getStateHelper().eval(PropertyKeys.offset, 0);
}
public void setOffset(int offset)
@@ -159,7 +159,7 @@ public void setOffset(int offset)
@JSFProperty
public int getSize()
{
- return (Integer) getStateHelper().eval(PropertyKeys.size, -1);
+ return getStateHelper().eval(PropertyKeys.size, -1);
}
public void setSize(int size)
@@ -170,7 +170,7 @@ public void setSize(int size)
@JSFProperty
public int getStep()
{
- return (Integer) getStateHelper().eval(PropertyKeys.step, 1);
+ return getStateHelper().eval(PropertyKeys.step, 1);
}
public void setStep(int step)
@@ -181,7 +181,7 @@ public void setStep(int step)
@JSFProperty
public int getBegin()
{
- return (Integer) getStateHelper().eval(PropertyKeys.begin, -1);
+ return getStateHelper().eval(PropertyKeys.begin, -1);
}
public void setBegin(int begin)
@@ -192,7 +192,7 @@ public void setBegin(int begin)
@JSFProperty
public int getEnd()
{
- return (Integer) getStateHelper().eval(PropertyKeys.end, -1);
+ return getStateHelper().eval(PropertyKeys.end, -1);
}
public void setEnd(int end)
@@ -203,7 +203,7 @@ public void setEnd(int end)
@JSFProperty(literalOnly=true)
public String getVar()
{
- return (String) getStateHelper().get(PropertyKeys.var);
+ return getStateHelper().get(PropertyKeys.var);
}
public void setVar(String var)
@@ -214,7 +214,7 @@ public void setVar(String var)
@JSFProperty(literalOnly=true)
public String getVarStatus()
{
- return (String) getStateHelper().get(PropertyKeys.varStatus);
+ return getStateHelper().get(PropertyKeys.varStatus);
}
public void setVarStatus(String varStatus)
@@ -235,7 +235,7 @@ public void setVarStatus(String varStatus)
@JSFProperty(literalOnly = true, faceletsOnly = true)
public boolean isRowStatePreserved()
{
- Boolean b = (Boolean) getStateHelper().get(PropertyKeys.rowStatePreserved);
+ Boolean b = getStateHelper().get(PropertyKeys.rowStatePreserved);
return b == null ? false : b;
}
diff --git a/impl/src/main/java/org/apache/myfaces/view/facelets/tag/faces/ClearBindingValueExpressionListener.java b/impl/src/main/java/org/apache/myfaces/view/facelets/tag/faces/ClearBindingValueExpressionListener.java
index b84420097..a944bc673 100644
--- a/impl/src/main/java/org/apache/myfaces/view/facelets/tag/faces/ClearBindingValueExpressionListener.java
+++ b/impl/src/main/java/org/apache/myfaces/view/facelets/tag/faces/ClearBindingValueExpressionListener.java
@@ -57,7 +57,8 @@ public void processEvent(ComponentSystemEvent event)
Logger log = Logger.getLogger(ClearBindingValueExpressionListener.class.getName());
if (log.isLoggable(Level.FINE))
{
- log.log(Level.FINE, "Cannot reset binding for: " + event.getComponent().getClientId(), e);
+ log.log(Level.FINE,
+ "Cannot reset binding for: " + event.getComponent().getClientId(event.getFacesContext()), e);
}
}
catch (NullPointerException e)
@@ -65,7 +66,8 @@ public void processEvent(ComponentSystemEvent event)
Logger log = Logger.getLogger(ClearBindingValueExpressionListener.class.getName());
if (log.isLoggable(Level.FINE))
{
- log.log(Level.FINE, "Cannot reset binding for: " + event.getComponent().getClientId(), e);
+ log.log(Level.FINE,
+ "Cannot reset binding for: " + event.getComponent().getClientId(event.getFacesContext()), e);
}
}
}