Eliminate more Generics compiler warnings. Probably more refinements needed...
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/be2344f0 Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/be2344f0 Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/be2344f0 Branch: refs/heads/master Commit: be2344f0efbef9d40ba7a6f4fa14a41a9815474c Parents: 8cb0ac5 Author: ggregory <[email protected]> Authored: Mon Aug 31 17:46:26 2015 -0700 Committer: ggregory <[email protected]> Committed: Mon Aug 31 17:46:26 2015 -0700 ---------------------------------------------------------------------- .../core/config/builder/api/ComponentBuilder.java | 2 +- .../config/builder/api/ConfigurationBuilder.java | 3 +-- .../builder/impl/DefaultComponentBuilder.java | 2 +- .../builder/impl/DefaultConfigurationBuilder.java | 16 ++++++++-------- 4 files changed, 11 insertions(+), 12 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/be2344f0/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/api/ComponentBuilder.java ---------------------------------------------------------------------- diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/api/ComponentBuilder.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/api/ComponentBuilder.java index 82bb670..a162f79 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/api/ComponentBuilder.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/api/ComponentBuilder.java @@ -24,7 +24,7 @@ import org.apache.logging.log4j.core.util.Builder; * Builds arbitrary components and is the base type for the provided components. */ @SuppressWarnings("rawtypes") -public interface ComponentBuilder<T extends ComponentBuilder> extends Builder<Component> { +public interface ComponentBuilder<T extends ComponentBuilder<T>> extends Builder<Component> { /** * Adds a String attribute. http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/be2344f0/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/api/ConfigurationBuilder.java ---------------------------------------------------------------------- diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/api/ConfigurationBuilder.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/api/ConfigurationBuilder.java index cb6cb8c..c578451 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/api/ConfigurationBuilder.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/api/ConfigurationBuilder.java @@ -151,8 +151,7 @@ public interface ConfigurationBuilder<T extends Configuration> extends Builder<T * @param value The value of the component. * @return The ComponentBuilder. */ - @SuppressWarnings("rawtypes") - ComponentBuilder<ComponentBuilder> newComponent(String name, String pluginName, String value); + ComponentBuilder<?> newComponent(String name, String pluginName, String value); /** * Returns an Asssembler for creating CustomLevels http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/be2344f0/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/DefaultComponentBuilder.java ---------------------------------------------------------------------- diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/DefaultComponentBuilder.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/DefaultComponentBuilder.java index e960096..31d5dfe 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/DefaultComponentBuilder.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/DefaultComponentBuilder.java @@ -32,7 +32,7 @@ import java.util.Map; * Component. */ @SuppressWarnings("rawtypes") -class DefaultComponentBuilder<T extends ComponentBuilder> implements ComponentBuilder<T> { +class DefaultComponentBuilder<T extends ComponentBuilder<T>> implements ComponentBuilder<T> { private ConfigurationBuilder<? extends Configuration> builder; private String type; http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/be2344f0/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/DefaultConfigurationBuilder.java ---------------------------------------------------------------------- diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/DefaultConfigurationBuilder.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/DefaultConfigurationBuilder.java index 99ae765..6bf558f 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/DefaultConfigurationBuilder.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/DefaultConfigurationBuilder.java @@ -46,7 +46,7 @@ public class DefaultConfigurationBuilder<T extends BuiltConfiguration> implement private Component filters; private Component properties; private Component customLevels; - private final Class<?> clazz; + private final Class<? extends BuiltConfiguration> clazz; private ConfigurationSource source; private int monitorInterval = 0; private Level level = null; @@ -69,7 +69,7 @@ public class DefaultConfigurationBuilder<T extends BuiltConfiguration> implement root.addAttribute("name", "Assembled"); } - public <T extends BuiltConfiguration> DefaultConfigurationBuilder(Class<T> clazz) { + public <B extends BuiltConfiguration> DefaultConfigurationBuilder(Class<B> clazz) { if (clazz == null) { throw new IllegalArgumentException("A Configuration class must be provided"); } @@ -207,13 +207,13 @@ public class DefaultConfigurationBuilder<T extends BuiltConfiguration> implement @Override - public ComponentBuilder<ComponentBuilder<?>> newComponent(String name, String type) { + public ComponentBuilder<?> newComponent(String name, String type) { return new DefaultComponentBuilder<>(this, name, type); } @Override @SuppressWarnings({"unchecked", "rawtypes"}) - public ComponentBuilder<ComponentBuilder> newComponent(String name, String type, String value) { + public ComponentBuilder<?> newComponent(String name, String type, String value) { return new DefaultComponentBuilder<>(this, name, type, value); } @@ -281,15 +281,15 @@ public class DefaultConfigurationBuilder<T extends BuiltConfiguration> implement } @Override - @SuppressWarnings({"unchecked", "rawtypes"}) + @SuppressWarnings({"unchecked"}) public T build() { BuiltConfiguration configuration; try { if (source == null) { source = ConfigurationSource.NULL_SOURCE; } - Constructor constructor = clazz.getConstructor(ConfigurationSource.class, Component.class); - configuration = (BuiltConfiguration) constructor.newInstance(source, root); + Constructor<? extends BuiltConfiguration> constructor = clazz.getConstructor(ConfigurationSource.class, Component.class); + configuration = constructor.newInstance(source, root); configuration.setMonitorInterval(monitorInterval); if (name != null) { configuration.setName(name); @@ -311,6 +311,6 @@ public class DefaultConfigurationBuilder<T extends BuiltConfiguration> implement } configuration.getStatusConfiguration().initialize(); configuration.initialize(); - return (T)configuration; + return (T) configuration; } }
