Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.logging.log4j.core.config.plugins.visitors
Class AbstractPluginVisitor<A extends Annotation>

    java.lang.Object
      org.apache.logging.log4j.core.config.plugins.visitors.AbstractPluginVisitor<A>

Type Parameters:
  `A` - the Plugin annotation type.

All Implemented Interfaces:
  PluginVisitor<A>

Direct Known Subclasses:
  PluginAttributeVisitor, PluginBuilderAttributeVisitor, PluginConfigurationVisitor, PluginElementVisitor, PluginNodeVisitor, PluginValueVisitor

    public abstract class AbstractPluginVisitor<A extends Annotation>

extends Object
implements PluginVisitor<A>

Base class for PluginVisitor implementations. Provides convenience methods as well as all method implementations other than the `visit` method.

Field Summary
`protected String[]` | `aliases`
`protected A` | `annotation`
`protected Class<A>` | `clazz`
`protected Class<?>` | `conversionType`
`protected static org.apache.logging.log4j.Logger` | `LOGGER`
`protected Member` | `member`
`protected StrSubstitutor` | `substitutor`

Constructor Summary
`protected` | `AbstractPluginVisitor(Class<A> clazz)` This constructor must be overridden by implementation classes as a no-arg constructor.

Method Summary
`protected Object` | `convert(String value, Object defaultValue)` Converts the given value into the configured type falling back to the provided default value.
`protected static String` | `removeAttributeValue(Map<String,String> attributes, String name, String... aliases)` Removes an Entry from a given Map using a key name and aliases for that key.
`PluginVisitor<A>` | `setAliases(String... aliases)` Sets the list of aliases to use for this visit.
`PluginVisitor<A>` | `setAnnotation(Annotation annotation)` Sets the Annotation to be used for this.
`PluginVisitor<A>` | `setConversionType(Class<?> conversionType)` Sets the class to convert the plugin value to on this visit.
`PluginVisitor<A>` | `setMember(Member member)` Sets the Member that this visitor is being used for injection upon.
`PluginVisitor<A>` | `setStrSubstitutor(StrSubstitutor substitutor)` Sets the StrSubstitutor to use for converting raw strings before type conversion.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Methods inherited from interface org.apache.logging.log4j.core.config.plugins.visitors.PluginVisitor
`visit`

Field Detail

### LOGGER

    protected static final org.apache.logging.log4j.Logger LOGGER

### clazz

    protected final Class<A extends Annotation> clazz

### annotation

    protected A extends Annotation annotation

### aliases

    protected String[] aliases

### conversionType

    protected Class<?> conversionType

### substitutor

    protected StrSubstitutor substitutor

### member

    protected Member member

Constructor Detail

### AbstractPluginVisitor

    protected AbstractPluginVisitor(Class<A> clazz)

  This constructor must be overridden by implementation classes as a no-arg constructor.

  Parameters:
    `clazz` - the annotation class this PluginVisitor is for.

Method Detail

### setAnnotation

    public PluginVisitor<A> setAnnotation(Annotation annotation)

  Description copied from interface: `PluginVisitor`
  Sets the Annotation to be used for this. If the given Annotation is not compatible with this class's type, then it is ignored.

  Specified by:
    `setAnnotation` in interface `PluginVisitor<A extends Annotation>`
  Parameters:
    `annotation` - the Annotation instance.
  Returns:
    `this`.

### setAliases

    public PluginVisitor<A> setAliases(String... aliases)

  Description copied from interface: `PluginVisitor`
  Sets the list of aliases to use for this visit. No aliases are required, however.

  Specified by:
    `setAliases` in interface `PluginVisitor<A extends Annotation>`
  Parameters:
    `aliases` - the list of aliases to use.
  Returns:
    `this`.

### setConversionType

    public PluginVisitor<A> setConversionType(Class<?> conversionType)

  Description copied from interface: `PluginVisitor`
  Sets the class to convert the plugin value to on this visit. This should correspond with a class obtained from a factory method or builder class field. Not all PluginVisitor implementations may need this value.

  Specified by:
    `setConversionType` in interface `PluginVisitor<A extends Annotation>`
  Parameters:
    `conversionType` - the type to convert the plugin string to (if applicable).
  Returns:
    `this`.

### setStrSubstitutor

    public PluginVisitor<A> setStrSubstitutor(StrSubstitutor substitutor)

  Description copied from interface: `PluginVisitor`
  Sets the StrSubstitutor to use for converting raw strings before type conversion. Generally obtained from a `Configuration`.

  Specified by:
    `setStrSubstitutor` in interface `PluginVisitor<A extends Annotation>`
  Parameters:
    `substitutor` - the StrSubstitutor to use on plugin values.
  Returns:
    `this`.

### setMember

    public PluginVisitor<A> setMember(Member member)

  Description copied from interface: `PluginVisitor`
  Sets the Member that this visitor is being used for injection upon. For instance, this could be the Field that is being used for injecting a value, or it could be the factory method being used to inject parameters into.

  Specified by:
    `setMember` in interface `PluginVisitor<A extends Annotation>`
  Parameters:
    `member` - the member this visitor is parsing a value for.
  Returns:
    `this`.

### removeAttributeValue

    protected static String removeAttributeValue(Map<String,String> attributes,
                                                 String name,
                                                 String... aliases)

  Removes an Entry from a given Map using a key name and aliases for that key. Keys are case-insensitive.

  Parameters:
    `attributes` - the Map to remove an Entry from.
    `name` - the key name to look up.
    `aliases` - optional aliases of the key name to look up.
  Returns:
    the value corresponding to the given key or `null` if nonexistent.

### convert

    protected Object convert(String value,
                             Object defaultValue)

  Converts the given value into the configured type falling back to the provided default value.

  Parameters:
    `value` - the value to convert.
    `defaultValue` - the fallback value to use in case of no value or an error.
  Returns:
    the converted value whether that be based on the given value or the default value.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 1999-2015 Apache Software Foundation. All Rights Reserved.
Apache Logging, Apache Log4j, Log4j, Apache, the Apache feather logo, the Apache Logging project logo, and the Apache Log4j logo are trademarks of The Apache Software Foundation.