You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by ma...@apache.org on 2019/10/06 22:18:11 UTC

[logging-log4j2] 01/03: Rename OptionBinder to ConfigurationBinder

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

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

commit 0931c1c4eed9a07cc3f4acab318305bfd0884072
Author: Matt Sicker <bo...@gmail.com>
AuthorDate: Sun Oct 6 15:34:01 2019 -0500

    Rename OptionBinder to ConfigurationBinder
    
    This keeps the vocabulary more consistent throughout the API.
    
    Signed-off-by: Matt Sicker <bo...@gmail.com>
---
 .../inject/PluginConfigurationInjector.java        |  2 +-
 .../core/config/plugins/util/PluginBuilder.java    | 10 ++++-----
 .../plugins/visitors/PluginAttributeVisitor.java   |  6 +++---
 .../visitors/PluginBuilderAttributeVisitor.java    |  4 ++--
 .../plugins/visitors/PluginElementVisitor.java     |  8 ++++----
 .../config/plugins/visitors/PluginNodeVisitor.java |  2 +-
 .../plugins/visitors/PluginValueVisitor.java       |  2 +-
 ...inder.java => AbstractConfigurationBinder.java} |  6 +++---
 ...{OptionBinder.java => ConfigurationBinder.java} |  2 +-
 .../bind/ConfigurationBindingException.java        | 17 +++++++++++++++
 .../log4j/plugins/bind/FactoryMethodBinder.java    | 12 +++++------
 ...onBinder.java => FieldConfigurationBinder.java} |  8 ++++----
 ...nBinder.java => MethodConfigurationBinder.java} |  8 ++++----
 .../log4j/plugins/bind/OptionBindingException.java | 24 ----------------------
 .../inject/AbstractConfigurationInjector.java      |  8 ++++----
 .../plugins/inject/ConfigurationInjector.java      |  4 ++--
 .../plugins/inject/PluginAttributeInjector.java    |  6 +++---
 .../inject/PluginBuilderAttributeInjector.java     |  4 ++--
 .../plugins/inject/PluginElementInjector.java      |  8 ++++----
 .../log4j/plugins/inject/PluginNodeInjector.java   |  2 +-
 .../log4j/plugins/inject/PluginValueInjector.java  |  2 +-
 21 files changed, 69 insertions(+), 76 deletions(-)

diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/inject/PluginConfigurationInjector.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/inject/PluginConfigurationInjector.java
index 6148f42..bc2f33a 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/inject/PluginConfigurationInjector.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/inject/PluginConfigurationInjector.java
@@ -13,7 +13,7 @@ public class PluginConfigurationInjector extends AbstractConfigurationInjector<P
             if (configuration.getName() != null) {
                 debugLog.append('(').append(configuration.getName()).append(')');
             }
-            return optionBinder.bindObject(target, configuration);
+            return configurationBinder.bindObject(target, configuration);
         } else {
             LOGGER.warn("Element with type {} annotated with @PluginConfiguration is not compatible with type {}.",
                     conversionType, configuration.getClass());
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/util/PluginBuilder.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/util/PluginBuilder.java
index 7624de6..9e2ace0 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/util/PluginBuilder.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/util/PluginBuilder.java
@@ -27,8 +27,8 @@ import org.apache.logging.log4j.plugins.PluginAliases;
 import org.apache.logging.log4j.plugins.PluginBuilderFactory;
 import org.apache.logging.log4j.plugins.PluginFactory;
 import org.apache.logging.log4j.plugins.bind.FactoryMethodBinder;
-import org.apache.logging.log4j.plugins.bind.FieldOptionBinder;
-import org.apache.logging.log4j.plugins.bind.MethodOptionBinder;
+import org.apache.logging.log4j.plugins.bind.FieldConfigurationBinder;
+import org.apache.logging.log4j.plugins.bind.MethodConfigurationBinder;
 import org.apache.logging.log4j.plugins.inject.ConfigurationInjector;
 import org.apache.logging.log4j.plugins.util.Builder;
 import org.apache.logging.log4j.plugins.util.PluginType;
@@ -178,7 +178,7 @@ public class PluginBuilder implements Builder<Object> {
                 log.append(log.length() == 0 ? simpleName(target) + "(" : ", ");
                 injector.withAliases(extractPluginAliases(field.getAnnotations()))
                         .withConversionType(field.getGenericType())
-                        .withOptionBinder(new FieldOptionBinder(field))
+                        .withConfigurationBinder(new FieldConfigurationBinder(field))
                         .withDebugLog(log)
                         .withStringSubstitutionStrategy(substitutor)
                         .withConfiguration(configuration)
@@ -195,7 +195,7 @@ public class PluginBuilder implements Builder<Object> {
                 log.append(log.length() == 0 ? simpleName(target) + "(" : ", ");
                 injector.withAliases(extractPluginAliases(method.getAnnotations()))
                         .withConversionType(method.getGenericParameterTypes()[0])
-                        .withOptionBinder(new MethodOptionBinder(method))
+                        .withConfigurationBinder(new MethodConfigurationBinder(method))
                         .withDebugLog(log)
                         .withStringSubstitutionStrategy(substitutor)
                         .withConfiguration(configuration)
@@ -242,7 +242,7 @@ public class PluginBuilder implements Builder<Object> {
             ConfigurationInjector.forAnnotatedElement(parameter).ifPresent(injector -> injector
                             .withAliases(extractPluginAliases(parameter.getAnnotations()))
                             .withConversionType(parameter.getParameterizedType())
-                            .withOptionBinder(optionBinder)
+                            .withConfigurationBinder(optionBinder)
                             .withDebugLog(log)
                             .withStringSubstitutionStrategy(substitutor)
                             .withConfiguration(configuration)
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/visitors/PluginAttributeVisitor.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/visitors/PluginAttributeVisitor.java
index ca88b3c..538ab74 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/visitors/PluginAttributeVisitor.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/visitors/PluginAttributeVisitor.java
@@ -63,7 +63,7 @@ public class PluginAttributeVisitor extends AbstractConfigurationInjector<Plugin
     public Object inject(final Object target) {
         return findAndRemoveNodeAttribute()
                 .map(stringSubstitutionStrategy)
-                .map(value -> optionBinder.bindString(target, value))
+                .map(value -> configurationBinder.bindString(target, value))
                 .orElseGet(() -> injectDefaultValue(target));
     }
 
@@ -72,12 +72,12 @@ public class PluginAttributeVisitor extends AbstractConfigurationInjector<Plugin
         if (extractor != null) {
             final Object value = extractor.apply(annotation);
             debugLog(value);
-            return optionBinder.bindObject(target, value);
+            return configurationBinder.bindObject(target, value);
         }
         final String value = stringSubstitutionStrategy.apply(annotation.defaultString());
         if (Strings.isNotBlank(value)) {
             debugLog(value);
-            return optionBinder.bindString(target, value);
+            return configurationBinder.bindString(target, value);
         }
         return target;
     }
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/visitors/PluginBuilderAttributeVisitor.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/visitors/PluginBuilderAttributeVisitor.java
index d834b5b..533745c 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/visitors/PluginBuilderAttributeVisitor.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/visitors/PluginBuilderAttributeVisitor.java
@@ -35,8 +35,8 @@ public class PluginBuilderAttributeVisitor extends AbstractConfigurationInjector
                 .map(value -> {
                     String debugValue = annotation.sensitive() ? NameUtil.md5(value + getClass().getName()) : value;
                     StringBuilders.appendKeyDqValue(debugLog, name, debugValue);
-                    return optionBinder.bindString(target, value);
+                    return configurationBinder.bindString(target, value);
                 })
-                .orElseGet(() -> optionBinder.bindObject(target, null));
+                .orElseGet(() -> configurationBinder.bindObject(target, null));
     }
 }
\ No newline at end of file
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/visitors/PluginElementVisitor.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/visitors/PluginElementVisitor.java
index e216293..8e8d2ef 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/visitors/PluginElementVisitor.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/visitors/PluginElementVisitor.java
@@ -61,7 +61,7 @@ public class PluginElementVisitor extends AbstractConfigurationInjector<PluginEl
                         Object[] children = (Object[]) childObject;
                         debugLog.append(Arrays.toString(children)).append('}');
                         node.getChildren().removeAll(used);
-                        return optionBinder.bindObject(target, children);
+                        return configurationBinder.bindObject(target, children);
                     } else {
                         debugLog.append(child.toString());
                         values.add(childObject);
@@ -79,17 +79,17 @@ public class PluginElementVisitor extends AbstractConfigurationInjector<PluginEl
             for (int i = 0; i < vals.length; i++) {
                 vals[i] = values.get(i);
             }
-            return optionBinder.bindObject(target, vals);
+            return configurationBinder.bindObject(target, vals);
         } else {
             final Optional<Node> matchingChild = node.getChildren().stream().filter(this::isRequestedNode).findAny();
             if (matchingChild.isPresent()) {
                 final Node child = matchingChild.get();
                 debugLog.append(child.getName()).append('(').append(child.toString()).append(')');
                 node.getChildren().remove(child);
-                return optionBinder.bindObject(target, child.getObject());
+                return configurationBinder.bindObject(target, child.getObject());
             } else {
                 debugLog.append(name).append("=null");
-                return optionBinder.bindObject(target, null);
+                return configurationBinder.bindObject(target, null);
             }
         }
     }
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/visitors/PluginNodeVisitor.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/visitors/PluginNodeVisitor.java
index bf9a364..3bfb7ce 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/visitors/PluginNodeVisitor.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/visitors/PluginNodeVisitor.java
@@ -29,6 +29,6 @@ public class PluginNodeVisitor extends AbstractConfigurationInjector<PluginNode,
     @Override
     public Object inject(final Object target) {
         debugLog.append("Node=").append(node.getName());
-        return optionBinder.bindObject(target, node);
+        return configurationBinder.bindObject(target, node);
     }
 }
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/visitors/PluginValueVisitor.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/visitors/PluginValueVisitor.java
index 95f86f4..bd7dad9 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/visitors/PluginValueVisitor.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/visitors/PluginValueVisitor.java
@@ -45,6 +45,6 @@ public class PluginValueVisitor extends AbstractConfigurationInjector<PluginValu
         }
         final String value = stringSubstitutionStrategy.apply(rawValue);
         StringBuilders.appendKeyDqValue(debugLog, name, value);
-        return optionBinder.bindString(target, value);
+        return configurationBinder.bindString(target, value);
     }
 }
diff --git a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/bind/AbstractOptionBinder.java b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/bind/AbstractConfigurationBinder.java
similarity index 89%
rename from log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/bind/AbstractOptionBinder.java
rename to log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/bind/AbstractConfigurationBinder.java
index e3603ce..39235fb 100644
--- a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/bind/AbstractOptionBinder.java
+++ b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/bind/AbstractConfigurationBinder.java
@@ -14,7 +14,7 @@ import java.util.Collection;
 import java.util.Objects;
 import java.util.function.Function;
 
-public abstract class AbstractOptionBinder<E extends AnnotatedElement> implements OptionBinder {
+public abstract class AbstractConfigurationBinder<E extends AnnotatedElement> implements ConfigurationBinder {
     protected static final Logger LOGGER = StatusLogger.getLogger();
 
     final E element;
@@ -22,7 +22,7 @@ public abstract class AbstractOptionBinder<E extends AnnotatedElement> implement
     private final Type injectionType;
     private final Collection<ConstraintValidator<?>> validators;
 
-    AbstractOptionBinder(final E element, final Function<E, Type> injectionTypeExtractor) {
+    AbstractConfigurationBinder(final E element, final Function<E, Type> injectionTypeExtractor) {
         this.element = Objects.requireNonNull(element);
         this.name = AnnotatedElementNameProvider.getName(element);
         Objects.requireNonNull(injectionTypeExtractor);
@@ -55,7 +55,7 @@ public abstract class AbstractOptionBinder<E extends AnnotatedElement> implement
 //            valid = false;
 //        }
         if (!valid) {
-            throw new OptionBindingException(name, value);
+            throw new ConfigurationBindingException(name, value);
         }
     }
 
diff --git a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/bind/OptionBinder.java b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/bind/ConfigurationBinder.java
similarity index 82%
rename from log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/bind/OptionBinder.java
rename to log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/bind/ConfigurationBinder.java
index 6a6872f..62f84ec 100644
--- a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/bind/OptionBinder.java
+++ b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/bind/ConfigurationBinder.java
@@ -1,6 +1,6 @@
 package org.apache.logging.log4j.plugins.bind;
 
-public interface OptionBinder {
+public interface ConfigurationBinder {
     Object bindString(final Object target, final String value);
 
     Object bindObject(final Object target, final Object value);
diff --git a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/bind/ConfigurationBindingException.java b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/bind/ConfigurationBindingException.java
new file mode 100644
index 0000000..cd00419
--- /dev/null
+++ b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/bind/ConfigurationBindingException.java
@@ -0,0 +1,17 @@
+package org.apache.logging.log4j.plugins.bind;
+
+public class ConfigurationBindingException extends IllegalArgumentException {
+
+    ConfigurationBindingException(final String name, final Object value) {
+        super("Invalid value '" + value + "' for option '" + name + "'");
+    }
+
+    ConfigurationBindingException(final String name, final Object value, final Throwable cause) {
+        super("Unable to set option '" + name + "' to value '" + value + "'", cause);
+    }
+
+    ConfigurationBindingException(final String message, final Throwable cause) {
+        super(message, cause);
+    }
+
+}
diff --git a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/bind/FactoryMethodBinder.java b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/bind/FactoryMethodBinder.java
index 80bee70..29e9bf6 100644
--- a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/bind/FactoryMethodBinder.java
+++ b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/bind/FactoryMethodBinder.java
@@ -12,17 +12,17 @@ import java.util.function.BiConsumer;
 public class FactoryMethodBinder {
 
     private final Method factoryMethod;
-    private final Map<Parameter, OptionBinder> binders = new ConcurrentHashMap<>();
+    private final Map<Parameter, ConfigurationBinder> binders = new ConcurrentHashMap<>();
     private final Map<Parameter, Object> boundParameters = new ConcurrentHashMap<>();
 
     public FactoryMethodBinder(final Method factoryMethod) {
         this.factoryMethod = Objects.requireNonNull(factoryMethod);
         for (final Parameter parameter : factoryMethod.getParameters()) {
-            binders.put(parameter, new ParameterOptionBinder(parameter));
+            binders.put(parameter, new ParameterConfigurationBinder(parameter));
         }
     }
 
-    public void forEachParameter(final BiConsumer<Parameter, OptionBinder> consumer) {
+    public void forEachParameter(final BiConsumer<Parameter, ConfigurationBinder> consumer) {
         binders.forEach(consumer);
     }
 
@@ -35,14 +35,14 @@ public class FactoryMethodBinder {
         try {
             return factoryMethod.invoke(null, args);
         } catch (final IllegalAccessException e) {
-            throw new OptionBindingException("Cannot access factory method " + factoryMethod, e);
+            throw new ConfigurationBindingException("Cannot access factory method " + factoryMethod, e);
         } catch (final InvocationTargetException e) {
             throw e.getCause();
         }
     }
 
-    private class ParameterOptionBinder extends AbstractOptionBinder<Parameter> {
-        private ParameterOptionBinder(final Parameter parameter) {
+    private class ParameterConfigurationBinder extends AbstractConfigurationBinder<Parameter> {
+        private ParameterConfigurationBinder(final Parameter parameter) {
             super(parameter, Parameter::getParameterizedType);
         }
 
diff --git a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/bind/FieldOptionBinder.java b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/bind/FieldConfigurationBinder.java
similarity index 76%
rename from log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/bind/FieldOptionBinder.java
rename to log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/bind/FieldConfigurationBinder.java
index bbd9a6b..1eb329c 100644
--- a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/bind/FieldOptionBinder.java
+++ b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/bind/FieldConfigurationBinder.java
@@ -3,9 +3,9 @@ package org.apache.logging.log4j.plugins.bind;
 import java.lang.reflect.Field;
 import java.util.Objects;
 
-public class FieldOptionBinder extends AbstractOptionBinder<Field> {
+public class FieldConfigurationBinder extends AbstractConfigurationBinder<Field> {
 
-    public FieldOptionBinder(final Field field) {
+    public FieldConfigurationBinder(final Field field) {
         super(field, Field::getGenericType);
     }
 
@@ -19,7 +19,7 @@ public class FieldOptionBinder extends AbstractOptionBinder<Field> {
                 validate(defaultValue);
                 LOGGER.trace("Using default value {} for option {}", defaultValue, name);
             } catch (final IllegalAccessException e) {
-                throw new OptionBindingException("Unable to validate option " + name, e);
+                throw new ConfigurationBindingException("Unable to validate option " + name, e);
             }
             return target;
         }
@@ -29,7 +29,7 @@ public class FieldOptionBinder extends AbstractOptionBinder<Field> {
             LOGGER.trace("Using value {} for option {}", value, name);
             return target;
         } catch (final IllegalAccessException e) {
-            throw new OptionBindingException(name, value, e);
+            throw new ConfigurationBindingException(name, value, e);
         }
     }
 
diff --git a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/bind/MethodOptionBinder.java b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/bind/MethodConfigurationBinder.java
similarity index 66%
rename from log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/bind/MethodOptionBinder.java
rename to log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/bind/MethodConfigurationBinder.java
index 6398520..2f8d4f7 100644
--- a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/bind/MethodOptionBinder.java
+++ b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/bind/MethodConfigurationBinder.java
@@ -4,9 +4,9 @@ import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
 import java.util.Objects;
 
-public class MethodOptionBinder extends AbstractOptionBinder<Method> {
+public class MethodConfigurationBinder extends AbstractConfigurationBinder<Method> {
 
-    public MethodOptionBinder(final Method method) {
+    public MethodConfigurationBinder(final Method method) {
         super(method, m -> m.getGenericParameterTypes()[0]);
     }
 
@@ -17,9 +17,9 @@ public class MethodOptionBinder extends AbstractOptionBinder<Method> {
         try {
             element.invoke(target, value);
         } catch (final IllegalAccessException e) {
-            throw new OptionBindingException(name, value, e);
+            throw new ConfigurationBindingException(name, value, e);
         } catch (final InvocationTargetException e) {
-            throw new OptionBindingException(name, value, e.getCause());
+            throw new ConfigurationBindingException(name, value, e.getCause());
         }
         return target;
     }
diff --git a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/bind/OptionBindingException.java b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/bind/OptionBindingException.java
deleted file mode 100644
index 0cc37b1..0000000
--- a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/bind/OptionBindingException.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package org.apache.logging.log4j.plugins.bind;
-
-public class OptionBindingException extends IllegalArgumentException {
-
-    public OptionBindingException(final String name, final Object value) {
-        super("Invalid value '" + value + "' for option '" + name + "'");
-    }
-
-    public OptionBindingException(final String name, final Object value, final Throwable cause) {
-        super("Unable to set option '" + name + "' to value '" + value + "'", cause);
-    }
-
-    public OptionBindingException(final String s) {
-        super(s);
-    }
-
-    public OptionBindingException(final String message, final Throwable cause) {
-        super(message, cause);
-    }
-
-    public OptionBindingException(final Throwable cause) {
-        super(cause);
-    }
-}
diff --git a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/inject/AbstractConfigurationInjector.java b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/inject/AbstractConfigurationInjector.java
index 2513cfd..9cecea4 100644
--- a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/inject/AbstractConfigurationInjector.java
+++ b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/inject/AbstractConfigurationInjector.java
@@ -3,7 +3,7 @@ package org.apache.logging.log4j.plugins.inject;
 import org.apache.logging.log4j.Logger;
 import org.apache.logging.log4j.plugins.Node;
 import org.apache.logging.log4j.plugins.PluginAliases;
-import org.apache.logging.log4j.plugins.bind.OptionBinder;
+import org.apache.logging.log4j.plugins.bind.ConfigurationBinder;
 import org.apache.logging.log4j.plugins.name.AnnotatedElementNameProvider;
 import org.apache.logging.log4j.status.StatusLogger;
 
@@ -27,7 +27,7 @@ public abstract class AbstractConfigurationInjector<Ann extends Annotation, Cfg>
     protected Type conversionType;
     protected String name;
     protected Collection<String> aliases = Collections.emptyList();
-    protected OptionBinder optionBinder;
+    protected ConfigurationBinder configurationBinder;
     protected StringBuilder debugLog;
     protected Function<String, String> stringSubstitutionStrategy = Function.identity();
     protected Cfg configuration;
@@ -69,8 +69,8 @@ public abstract class AbstractConfigurationInjector<Ann extends Annotation, Cfg>
     }
 
     @Override
-    public ConfigurationInjector<Ann, Cfg> withOptionBinder(final OptionBinder binder) {
-        this.optionBinder = binder;
+    public ConfigurationInjector<Ann, Cfg> withConfigurationBinder(final ConfigurationBinder binder) {
+        this.configurationBinder = binder;
         return this;
     }
 
diff --git a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/inject/ConfigurationInjector.java b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/inject/ConfigurationInjector.java
index 048298b..d8b1872 100644
--- a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/inject/ConfigurationInjector.java
+++ b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/inject/ConfigurationInjector.java
@@ -1,7 +1,7 @@
 package org.apache.logging.log4j.plugins.inject;
 
 import org.apache.logging.log4j.plugins.Node;
-import org.apache.logging.log4j.plugins.bind.OptionBinder;
+import org.apache.logging.log4j.plugins.bind.ConfigurationBinder;
 import org.apache.logging.log4j.util.ReflectionUtil;
 
 import java.lang.annotation.Annotation;
@@ -34,7 +34,7 @@ public interface ConfigurationInjector<Ann extends Annotation, Cfg> {
 
     ConfigurationInjector<Ann, Cfg> withAliases(final String... aliases);
 
-    ConfigurationInjector<Ann, Cfg> withOptionBinder(final OptionBinder binder);
+    ConfigurationInjector<Ann, Cfg> withConfigurationBinder(final ConfigurationBinder binder);
 
     ConfigurationInjector<Ann, Cfg> withDebugLog(final StringBuilder debugLog);
 
diff --git a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/inject/PluginAttributeInjector.java b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/inject/PluginAttributeInjector.java
index e03eae8..f259800 100644
--- a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/inject/PluginAttributeInjector.java
+++ b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/inject/PluginAttributeInjector.java
@@ -41,7 +41,7 @@ public class PluginAttributeInjector extends AbstractConfigurationInjector<Plugi
     public Object inject(final Object target) {
         return findAndRemoveNodeAttribute()
                 .map(stringSubstitutionStrategy)
-                .map(value -> optionBinder.bindString(target, value))
+                .map(value -> configurationBinder.bindString(target, value))
                 .orElseGet(() -> injectDefaultValue(target));
     }
 
@@ -50,12 +50,12 @@ public class PluginAttributeInjector extends AbstractConfigurationInjector<Plugi
         if (extractor != null) {
             final Object value = extractor.apply(annotation);
             debugLog(value);
-            return optionBinder.bindObject(target, value);
+            return configurationBinder.bindObject(target, value);
         }
         final String value = stringSubstitutionStrategy.apply(annotation.defaultString());
         if (Strings.isNotBlank(value)) {
             debugLog(value);
-            return optionBinder.bindString(target, value);
+            return configurationBinder.bindString(target, value);
         }
         return target;
     }
diff --git a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/inject/PluginBuilderAttributeInjector.java b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/inject/PluginBuilderAttributeInjector.java
index db14fa7..08f6d02 100644
--- a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/inject/PluginBuilderAttributeInjector.java
+++ b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/inject/PluginBuilderAttributeInjector.java
@@ -12,8 +12,8 @@ public class PluginBuilderAttributeInjector extends AbstractConfigurationInjecto
                 .map(value -> {
                     String debugValue = annotation.sensitive() ? NameUtil.md5(value + getClass().getName()) : value;
                     StringBuilders.appendKeyDqValue(debugLog, name, debugValue);
-                    return optionBinder.bindString(target, value);
+                    return configurationBinder.bindString(target, value);
                 })
-                .orElseGet(() -> optionBinder.bindObject(target, null));
+                .orElseGet(() -> configurationBinder.bindObject(target, null));
     }
 }
diff --git a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/inject/PluginElementInjector.java b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/inject/PluginElementInjector.java
index 33f372c..7620280 100644
--- a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/inject/PluginElementInjector.java
+++ b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/inject/PluginElementInjector.java
@@ -38,7 +38,7 @@ public class PluginElementInjector extends AbstractConfigurationInjector<PluginE
                         Object[] children = (Object[]) childObject;
                         debugLog.append(Arrays.toString(children)).append('}');
                         node.getChildren().removeAll(used);
-                        return optionBinder.bindObject(target, children);
+                        return configurationBinder.bindObject(target, children);
                     } else {
                         debugLog.append(child.toString());
                         values.add(childObject);
@@ -56,17 +56,17 @@ public class PluginElementInjector extends AbstractConfigurationInjector<PluginE
             for (int i = 0; i < vals.length; i++) {
                 vals[i] = values.get(i);
             }
-            return optionBinder.bindObject(target, vals);
+            return configurationBinder.bindObject(target, vals);
         } else {
             final Optional<Node> matchingChild = node.getChildren().stream().filter(this::isRequestedNode).findAny();
             if (matchingChild.isPresent()) {
                 final Node child = matchingChild.get();
                 debugLog.append(child.getName()).append('(').append(child.toString()).append(')');
                 node.getChildren().remove(child);
-                return optionBinder.bindObject(target, child.getObject());
+                return configurationBinder.bindObject(target, child.getObject());
             } else {
                 debugLog.append(name).append("=null");
-                return optionBinder.bindObject(target, null);
+                return configurationBinder.bindObject(target, null);
             }
         }
     }
diff --git a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/inject/PluginNodeInjector.java b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/inject/PluginNodeInjector.java
index 62353f0..e9fe94b 100644
--- a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/inject/PluginNodeInjector.java
+++ b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/inject/PluginNodeInjector.java
@@ -8,7 +8,7 @@ public class PluginNodeInjector extends AbstractConfigurationInjector<PluginNode
     public Object inject(final Object target) {
         if (TypeUtil.isAssignable(conversionType, node.getClass())) {
             debugLog.append("Node=").append(node.getName());
-            return optionBinder.bindObject(target, node);
+            return configurationBinder.bindObject(target, node);
         } else {
             LOGGER.error("Element with type {} annotated with @PluginNode not compatible with type {}.", conversionType, node.getClass());
             return target;
diff --git a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/inject/PluginValueInjector.java b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/inject/PluginValueInjector.java
index 0325bba..949daa0 100644
--- a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/inject/PluginValueInjector.java
+++ b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/inject/PluginValueInjector.java
@@ -22,6 +22,6 @@ public class PluginValueInjector extends AbstractConfigurationInjector<PluginVal
         }
         final String value = stringSubstitutionStrategy.apply(rawValue);
         StringBuilders.appendKeyDqValue(debugLog, name, value);
-        return optionBinder.bindString(target, value);
+        return configurationBinder.bindString(target, value);
     }
 }