This is an automated email from the ASF dual-hosted git repository.

mattsicker pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git


The following commit(s) were added to refs/heads/main by this push:
     new 3493a32466 Make PluginEntry a record class
3493a32466 is described below

commit 3493a324664d97e9864272164aa5d4ae10032b05
Author: Matt Sicker <[email protected]>
AuthorDate: Tue Jan 2 17:45:17 2024 -0600

    Make PluginEntry a record class
---
 .../log4j/plugin/processor/PluginProcessor.java    | 14 ++--
 .../plugin/processor/PluginProcessorTest.java      |  4 +-
 .../logging/log4j/plugins/model/PluginCache.java   |  2 +-
 .../logging/log4j/plugins/model/PluginEntry.java   | 74 +++-------------------
 .../logging/log4j/plugins/model/PluginService.java |  4 +-
 .../logging/log4j/plugins/model/PluginType.java    | 26 ++++----
 6 files changed, 34 insertions(+), 90 deletions(-)

diff --git 
a/log4j-plugin-processor/src/main/java/org/apache/logging/log4j/plugin/processor/PluginProcessor.java
 
b/log4j-plugin-processor/src/main/java/org/apache/logging/log4j/plugin/processor/PluginProcessor.java
index 49d3e7f514..947c0278c9 100644
--- 
a/log4j-plugin-processor/src/main/java/org/apache/logging/log4j/plugin/processor/PluginProcessor.java
+++ 
b/log4j-plugin-processor/src/main/java/org/apache/logging/log4j/plugin/processor/PluginProcessor.java
@@ -180,18 +180,18 @@ public class PluginProcessor extends AbstractProcessor {
             for (int i = 0; i < list.size(); ++i) {
                 final PluginEntry entry = list.get(i);
                 writer.println("    PluginEntry.builder()");
-                writer.println(String.format("      .setKey(\"%s\")", 
entry.getKey()));
-                writer.println(String.format("      .setClassName(\"%s\")", 
entry.getClassName()));
-                writer.println(String.format("      .setName(\"%s\")", 
entry.getName()));
-                writer.println(String.format("      .setNamespace(\"%s\")", 
entry.getNamespace()));
-                final String elementType = entry.getElementType();
+                writer.println(String.format("      .setKey(\"%s\")", 
entry.key()));
+                writer.println(String.format("      .setClassName(\"%s\")", 
entry.className()));
+                writer.println(String.format("      .setName(\"%s\")", 
entry.name()));
+                writer.println(String.format("      .setNamespace(\"%s\")", 
entry.namespace()));
+                final String elementType = entry.elementType();
                 if (Strings.isNotEmpty(elementType)) {
                     writer.println(String.format("      
.setElementType(\"%s\")", elementType));
                 }
-                if (entry.isPrintable()) {
+                if (entry.printable()) {
                     writer.println("      .setPrintable(true)");
                 }
-                if (entry.isDeferChildren()) {
+                if (entry.deferChildren()) {
                     writer.println("      .setDeferChildren(true)");
                 }
                 writer.println("      .get()" + (i < max ? "," : 
Strings.EMPTY));
diff --git 
a/log4j-plugins-test/src/test/java/org/apache/logging/log4j/plugin/processor/PluginProcessorTest.java
 
b/log4j-plugins-test/src/test/java/org/apache/logging/log4j/plugin/processor/PluginProcessorTest.java
index e6c06d6541..c1ecc9aa40 100644
--- 
a/log4j-plugins-test/src/test/java/org/apache/logging/log4j/plugin/processor/PluginProcessorTest.java
+++ 
b/log4j-plugins-test/src/test/java/org/apache/logging/log4j/plugin/processor/PluginProcessorTest.java
@@ -82,7 +82,7 @@ public class PluginProcessorTest {
 
     private void verifyFakePluginEntry(final String name, final PluginType<?> 
fake) {
         assertNotNull("The plugin '" + name.toLowerCase() + "' was not 
found.", fake);
-        assertEquals(FakePlugin.class.getName(), 
fake.getPluginEntry().getClassName());
+        assertEquals(FakePlugin.class.getName(), 
fake.getPluginEntry().className());
         assertEquals(name.toLowerCase(), fake.getKey());
         assertEquals(Plugin.EMPTY, c.elementType());
         assertEquals(p.value(), fake.getName());
@@ -98,7 +98,7 @@ public class PluginProcessorTest {
         final PluginType<?> nested = testCategory.get(p.value());
         assertNotNull(nested);
         assertEquals(p.value().toLowerCase(), nested.getKey());
-        assertEquals(FakePlugin.Nested.class.getName(), 
nested.getPluginEntry().getClassName());
+        assertEquals(FakePlugin.Nested.class.getName(), 
nested.getPluginEntry().className());
         assertEquals(p.value(), nested.getName());
     }
 
diff --git 
a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/model/PluginCache.java
 
b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/model/PluginCache.java
index 20ad991d82..024e931d3a 100644
--- 
a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/model/PluginCache.java
+++ 
b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/model/PluginCache.java
@@ -73,7 +73,7 @@ public class PluginCache {
                                 .setPrintable(in.readBoolean())
                                 .setDeferChildren(in.readBoolean())
                                 .get();
-                        m.putIfAbsent(entry.getKey(), entry);
+                        m.putIfAbsent(entry.key(), entry);
                     }
                 }
             }
diff --git 
a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/model/PluginEntry.java
 
b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/model/PluginEntry.java
index 00c1d1196d..b717974867 100644
--- 
a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/model/PluginEntry.java
+++ 
b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/model/PluginEntry.java
@@ -24,71 +24,15 @@ import org.apache.logging.log4j.util.Strings;
 /**
  * Descriptor for {@link org.apache.logging.log4j.plugins.Plugin} metadata.
  */
-public final class PluginEntry implements Comparable<PluginEntry> {
-    private final String key;
-    private final String className;
-    private final String name;
-    private final String elementType;
-    private final boolean printable;
-    private final boolean deferChildren;
-    private final String namespace;
-
-    private PluginEntry(
-            final String key,
-            final String className,
-            final String name,
-            final String elementType,
-            final boolean printable,
-            final boolean deferChildren,
-            final String namespace) {
-        this.key = key;
-        this.className = className;
-        this.name = name;
-        this.elementType = elementType;
-        this.printable = printable;
-        this.deferChildren = deferChildren;
-        this.namespace = namespace;
-    }
-
-    public String getKey() {
-        return key;
-    }
-
-    public String getClassName() {
-        return className;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public String getElementType() {
-        return elementType;
-    }
-
-    public boolean isPrintable() {
-        return printable;
-    }
-
-    public boolean isDeferChildren() {
-        return deferChildren;
-    }
-
-    public String getNamespace() {
-        return namespace;
-    }
-
-    @Override
-    public String toString() {
-        return "PluginEntry{" + "key='"
-                + key + '\'' + ", className='"
-                + className + '\'' + ", name='"
-                + name + '\'' + ", elementType='"
-                + elementType + '\'' + ", printable="
-                + printable + ", deferChildren="
-                + deferChildren + ", namespace='"
-                + namespace + '\'' + '}';
-    }
+public record PluginEntry(
+        String key,
+        String className,
+        String name,
+        String elementType,
+        boolean printable,
+        boolean deferChildren,
+        String namespace)
+        implements Comparable<PluginEntry> {
 
     @Override
     public int compareTo(final PluginEntry o) {
diff --git 
a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/model/PluginService.java
 
b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/model/PluginService.java
index 95463d4237..4bb81a127b 100644
--- 
a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/model/PluginService.java
+++ 
b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/model/PluginService.java
@@ -34,10 +34,10 @@ public abstract class PluginService {
         final PluginEntry[] entries = getEntries();
         final ClassLoader classLoader = getClass().getClassLoader();
         for (PluginEntry entry : entries) {
-            final String namespace = entry.getNamespace();
+            final String namespace = entry.namespace();
             namespaces
                     .computeIfAbsent(namespace.toLowerCase(Locale.ROOT), key 
-> new PluginNamespace(key, namespace))
-                    .merge(entry.getKey(), new PluginType<>(entry, 
classLoader));
+                    .merge(entry.key(), new PluginType<>(entry, classLoader));
         }
     }
 
diff --git 
a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/model/PluginType.java
 
b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/model/PluginType.java
index 1fc115c124..529b656352 100644
--- 
a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/model/PluginType.java
+++ 
b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/model/PluginType.java
@@ -56,12 +56,12 @@ public class PluginType<T> {
             if (loader == null) {
                 throw new IllegalStateException("ClassLoader has been 
destroyed already");
             }
-            final String className = pluginEntry.getClassName();
+            final String className = pluginEntry.className();
             try {
                 return Cast.cast(loader.loadClass(className));
             } catch (final ClassNotFoundException e) {
                 throw new IllegalStateException(
-                        "No class named " + className + " located for element 
" + pluginEntry.getName(), e);
+                        "No class named " + className + " located for element 
" + pluginEntry.name(), e);
             }
         });
     }
@@ -75,7 +75,7 @@ public class PluginType<T> {
     }
 
     public String getElementType() {
-        return pluginEntry.getElementType();
+        return pluginEntry.elementType();
     }
 
     /**
@@ -84,15 +84,15 @@ public class PluginType<T> {
      * @since 2.1
      */
     public String getKey() {
-        return this.pluginEntry.getKey();
+        return this.pluginEntry.key();
     }
 
     public boolean isObjectPrintable() {
-        return this.pluginEntry.isPrintable();
+        return this.pluginEntry.printable();
     }
 
     public boolean isDeferChildren() {
-        return this.pluginEntry.isDeferChildren();
+        return this.pluginEntry.deferChildren();
     }
 
     /**
@@ -101,11 +101,11 @@ public class PluginType<T> {
      * @since 2.1
      */
     public String getNamespace() {
-        return this.pluginEntry.getNamespace();
+        return this.pluginEntry.namespace();
     }
 
     public String getName() {
-        return pluginEntry.getName();
+        return pluginEntry.name();
     }
 
     public String getElementName() {
@@ -115,10 +115,10 @@ public class PluginType<T> {
     @Override
     public String toString() {
         return "PluginType [pluginClass=" + pluginClass.toString() + ", key="
-                + pluginEntry.getKey() + ", elementType="
-                + pluginEntry.getElementType() + ", isObjectPrintable="
-                + pluginEntry.isPrintable() + ", isDeferChildren=="
-                + pluginEntry.isDeferChildren() + ", namespace="
-                + pluginEntry.getNamespace() + "]";
+                + pluginEntry.key() + ", elementType="
+                + pluginEntry.elementType() + ", isObjectPrintable="
+                + pluginEntry.printable() + ", isDeferChildren=="
+                + pluginEntry.deferChildren() + ", namespace="
+                + pluginEntry.namespace() + "]";
     }
 }

Reply via email to