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
,PluginLoggerContextVisitor
,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
-
Constructor Summary
ModifierConstructorDescriptionprotected
AbstractPluginVisitor
(Class<A> clazz) This constructor must be overridden by implementation classes as a no-arg constructor. -
Method Summary
Modifier and TypeMethodDescriptionprotected Object
Converts the given value into the configured type falling back to the provided default value.protected static String
Removes an Entry from a given Map using a key name and aliases for that key.setAliases
(String... someAliases) Sets the list of aliases to use for this visit.setAnnotation
(Annotation anAnnotation) Sets the Annotation to be used for this.setConversionType
(Class<?> aConversionType) Sets the class to convert the plugin value to on this visit.Sets the Member that this visitor is being used for injection upon.setStrSubstitutor
(StrSubstitutor aSubstitutor) 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 Details
-
LOGGER
Status logger. -
clazz
-
annotation
-
aliases
-
conversionType
-
substitutor
-
member
-
-
Constructor Details
-
AbstractPluginVisitor
This constructor must be overridden by implementation classes as a no-arg constructor.- Parameters:
clazz
- the annotation class this PluginVisitor is for.
-
-
Method Details
-
setAnnotation
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 interfacePluginVisitor<A extends Annotation>
- Parameters:
anAnnotation
- the Annotation instance.- Returns:
this
.
-
setAliases
Description copied from interface:PluginVisitor
Sets the list of aliases to use for this visit. No aliases are required, however.- Specified by:
setAliases
in interfacePluginVisitor<A extends Annotation>
- Parameters:
someAliases
- the list of aliases to use.- Returns:
this
.
-
setConversionType
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 interfacePluginVisitor<A extends Annotation>
- Parameters:
aConversionType
- the type to convert the plugin string to (if applicable).- Returns:
this
.
-
setStrSubstitutor
Description copied from interface:PluginVisitor
Sets the StrSubstitutor to use for converting raw strings before type conversion. Generally obtained from aConfiguration
.- Specified by:
setStrSubstitutor
in interfacePluginVisitor<A extends Annotation>
- Parameters:
aSubstitutor
- the StrSubstitutor to use on plugin values.- Returns:
this
.
-
setMember
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 interfacePluginVisitor<A extends Annotation>
- Parameters:
aMember
- 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
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.
-