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() + "]";
}
}