Class AbstractPluginVisitor<A extends Annotation>

    • 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 anAnnotation)
        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:
        anAnnotation - the Annotation instance.
        Returns:
        this.
      • setAliases

        public PluginVisitor<A> setAliases​(String... someAliases)
        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:
        someAliases - the list of aliases to use.
        Returns:
        this.
      • setConversionType

        public PluginVisitor<A> setConversionType​(Class<?> aConversionType)
        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:
        aConversionType - the type to convert the plugin string to (if applicable).
        Returns:
        this.
      • setMember

        public PluginVisitor<A> setMember​(Member aMember)
        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:
        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

        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.