This is an automated email from the ASF dual-hosted git repository.
mridulpathak pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/ofbiz-framework.git
The following commit(s) were added to refs/heads/trunk by this push:
new 3123a66efb Make the screen, menu, tree and theme models final
3123a66efb is described below
commit 3123a66efb471c5ffb66caa74ca15bbfcc9651c6
Author: Mridul Pathak <[email protected]>
AuthorDate: Thu Oct 29 23:13:15 2026 +0530
Make the screen, menu, tree and theme models final
ModelScreen, ModelMenu, ModelMenuItem, ModelTheme, ModelTree and its
ModelNode and ModelSubNode build their child objects in their constructors and
hand them a reference to themselves, which javac reports as this-escape because
a subclass could see the object before its constructor finished. None of these
classes has a subclass, so they are now final; the child objects keep their
back-reference. MenuLink, ModelTree.ModelNode.Image and Link, and
ModelTreeCondition are made final too, l [...]
---
.../src/main/java/org/apache/ofbiz/widget/model/ModelMenu.java | 2 +-
.../main/java/org/apache/ofbiz/widget/model/ModelMenuItem.java | 4 ++--
.../main/java/org/apache/ofbiz/widget/model/ModelScreen.java | 2 +-
.../main/java/org/apache/ofbiz/widget/model/ModelTheme.java | 2 +-
.../src/main/java/org/apache/ofbiz/widget/model/ModelTree.java | 10 +++++-----
.../java/org/apache/ofbiz/widget/model/ModelTreeCondition.java | 2 +-
6 files changed, 11 insertions(+), 11 deletions(-)
diff --git
a/framework/widget/src/main/java/org/apache/ofbiz/widget/model/ModelMenu.java
b/framework/widget/src/main/java/org/apache/ofbiz/widget/model/ModelMenu.java
index e267870550..66c9ec427e 100644
---
a/framework/widget/src/main/java/org/apache/ofbiz/widget/model/ModelMenu.java
+++
b/framework/widget/src/main/java/org/apache/ofbiz/widget/model/ModelMenu.java
@@ -38,7 +38,7 @@ import org.w3c.dom.Element;
* Models the <menu> element. see widget-menu.xsd
*/
@SuppressWarnings("serial")
-public class ModelMenu extends ModelWidget {
+public final class ModelMenu extends ModelWidget {
/*
* -----------------------------------------------------------------------
*
diff --git
a/framework/widget/src/main/java/org/apache/ofbiz/widget/model/ModelMenuItem.java
b/framework/widget/src/main/java/org/apache/ofbiz/widget/model/ModelMenuItem.java
index 2e2cfc66d1..4a80841e8a 100644
---
a/framework/widget/src/main/java/org/apache/ofbiz/widget/model/ModelMenuItem.java
+++
b/framework/widget/src/main/java/org/apache/ofbiz/widget/model/ModelMenuItem.java
@@ -47,7 +47,7 @@ import org.w3c.dom.Element;
* @see <code>widget-menu.xsd</code>
*/
@SuppressWarnings("serial")
-public class ModelMenuItem extends ModelWidget {
+public final class ModelMenuItem extends ModelWidget {
/*
* -----------------------------------------------------------------------
*
@@ -677,7 +677,7 @@ public class ModelMenuItem extends ModelWidget {
return true;
}
- public static class MenuLink {
+ public static final class MenuLink {
private final ModelMenuItem linkMenuItem;
private final Link link;
diff --git
a/framework/widget/src/main/java/org/apache/ofbiz/widget/model/ModelScreen.java
b/framework/widget/src/main/java/org/apache/ofbiz/widget/model/ModelScreen.java
index 8081fce411..f5920b2e66 100644
---
a/framework/widget/src/main/java/org/apache/ofbiz/widget/model/ModelScreen.java
+++
b/framework/widget/src/main/java/org/apache/ofbiz/widget/model/ModelScreen.java
@@ -39,7 +39,7 @@ import org.w3c.dom.Element;
* Widget Library - Screen model class
*/
@SuppressWarnings("serial")
-public class ModelScreen extends ModelWidget {
+public final class ModelScreen extends ModelWidget {
private static final String MODULE = ModelScreen.class.getName();
diff --git
a/framework/widget/src/main/java/org/apache/ofbiz/widget/model/ModelTheme.java
b/framework/widget/src/main/java/org/apache/ofbiz/widget/model/ModelTheme.java
index 1439b60a56..e11921565b 100644
---
a/framework/widget/src/main/java/org/apache/ofbiz/widget/model/ModelTheme.java
+++
b/framework/widget/src/main/java/org/apache/ofbiz/widget/model/ModelTheme.java
@@ -40,7 +40,7 @@ import org.w3c.dom.Element;
* Widget Theme Library - Widget model class.
*/
@SuppressWarnings("serial")
-public class ModelTheme implements Serializable {
+public final class ModelTheme implements Serializable {
private static final String MODULE = ModelTheme.class.getName();
//generic properties
diff --git
a/framework/widget/src/main/java/org/apache/ofbiz/widget/model/ModelTree.java
b/framework/widget/src/main/java/org/apache/ofbiz/widget/model/ModelTree.java
index 52820dfa30..9b8613aec1 100644
---
a/framework/widget/src/main/java/org/apache/ofbiz/widget/model/ModelTree.java
+++
b/framework/widget/src/main/java/org/apache/ofbiz/widget/model/ModelTree.java
@@ -62,7 +62,7 @@ import org.xml.sax.SAXException;
* @see <code>widget-tree.xsd</code>
*/
@SuppressWarnings("serial")
-public class ModelTree extends ModelWidget {
+public final class ModelTree extends ModelWidget {
/*
* -----------------------------------------------------------------------
*
@@ -355,7 +355,7 @@ public class ModelTree extends ModelWidget {
* Models the <node> element.
* @see <code>widget-tree.xsd</code>
*/
- public static class ModelNode extends ModelWidget {
+ public static final class ModelNode extends ModelWidget {
private final List<ModelAction> actions;
// TODO: Make this a generic condition object.
@@ -867,7 +867,7 @@ public class ModelTree extends ModelWidget {
* Models the <image> element.
* @see <code>widget-tree.xsd</code>
*/
- public static class Image {
+ public static final class Image {
private final FlexibleStringExpander borderExdr;
private final FlexibleStringExpander heightExdr;
@@ -1029,7 +1029,7 @@ public class ModelTree extends ModelWidget {
* Models the <link> element.
* @see <code>widget-tree.xsd</code>
*/
- public static class Link {
+ public static final class Link {
private final boolean encode;
private final boolean fullPath;
private final FlexibleStringExpander idExdr;
@@ -1355,7 +1355,7 @@ public class ModelTree extends ModelWidget {
* Models the <sub-node> element.
* @see <code>widget-tree.xsd</code>
*/
- public static class ModelSubNode extends ModelWidget {
+ public static final class ModelSubNode extends ModelWidget {
private final List<ModelAction> actions;
private final FlexibleStringExpander nodeNameExdr;
diff --git
a/framework/widget/src/main/java/org/apache/ofbiz/widget/model/ModelTreeCondition.java
b/framework/widget/src/main/java/org/apache/ofbiz/widget/model/ModelTreeCondition.java
index eb6a12ba14..095bfc41bd 100644
---
a/framework/widget/src/main/java/org/apache/ofbiz/widget/model/ModelTreeCondition.java
+++
b/framework/widget/src/main/java/org/apache/ofbiz/widget/model/ModelTreeCondition.java
@@ -25,7 +25,7 @@ import org.w3c.dom.Element;
*
* @see <code>widget-tree.xsd</code>
*/
-public class ModelTreeCondition {
+public final class ModelTreeCondition {
private final ModelCondition condition;
public ModelTreeCondition(ModelTree modelTree, Element conditionElement) {