Annotation Type PluginAttribute


  • @Documented
    @Retention(RUNTIME)
    @Target({PARAMETER,FIELD})
    @PluginVisitorStrategy(PluginAttributeVisitor.class)
    public @interface PluginAttribute
    Identifies a Plugin Attribute and its default value. Note that only one of the defaultFoo attributes will be used based on the type this annotation is attached to. Thus, for primitive types, the defaultType attribute will be used for some Type. However, for more complex types (including enums), the default string value is used instead and should correspond to the string that would correctly convert to the appropriate enum value using Enum.valueOf.
    • Required Element Summary

      Required Elements 
      Modifier and Type Required Element Description
      String value
      Specifies the name of the attribute (case-insensitive) this annotation corresponds to.
    • Optional Element Summary

      Optional Elements 
      Modifier and Type Optional Element Description
      boolean defaultBoolean
      Specifies the default boolean value to use.
      byte defaultByte
      Specifies the default byte value to use.
      char defaultChar
      Specifies the default byte value to use.
      Class<?> defaultClass
      Specifies the default Class value to use.
      double defaultDouble
      Specifies the default double floating point value to use.
      float defaultFloat
      Specifies the default floating point value to use.
      int defaultInt
      Specifies the default integer value to use.
      long defaultLong
      Specifies the default long value to use.
      short defaultShort
      Specifies the default long value to use.
      String defaultString
      Specifies the default value this attribute should use if none is provided or if the provided value is invalid.
      boolean sensitive
      Indicates that this attribute is a sensitive one that shouldn't be logged directly.
    • Element Detail

      • value

        String value
        Specifies the name of the attribute (case-insensitive) this annotation corresponds to.
      • defaultBoolean

        boolean defaultBoolean
        Specifies the default boolean value to use.
        Default:
        false
      • defaultByte

        byte defaultByte
        Specifies the default byte value to use.
        Default:
        (byte)0x00
      • defaultChar

        char defaultChar
        Specifies the default byte value to use.
        Default:
        '\u0000'
      • defaultClass

        Class<?> defaultClass
        Specifies the default Class value to use.
        Default:
        java.lang.Object.class
      • defaultDouble

        double defaultDouble
        Specifies the default double floating point value to use.
        Default:
        0.0
      • defaultFloat

        float defaultFloat
        Specifies the default floating point value to use.
        Default:
        0.0f
      • defaultInt

        int defaultInt
        Specifies the default integer value to use.
        Default:
        0
      • defaultLong

        long defaultLong
        Specifies the default long value to use.
        Default:
        0L
      • defaultShort

        short defaultShort
        Specifies the default long value to use.
        Default:
        0
      • defaultString

        String defaultString
        Specifies the default value this attribute should use if none is provided or if the provided value is invalid.
        Default:
        ""
      • sensitive

        boolean sensitive
        Indicates that this attribute is a sensitive one that shouldn't be logged directly. Such attributes will instead be output as a hashed value.
        Default:
        false