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 &lt;menu&gt; 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 &lt;node&gt; 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 &lt;image&gt; 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 &lt;link&gt; 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 &lt;sub-node&gt; 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) {

Reply via email to