Annotation Type Property


  • @Retention(RUNTIME)
    @Target({METHOD,FIELD})
    public @interface Property
    Represents a Protocol property assigned from corresponding field in JGroups properties file.

    Since all protocol properties are read as String instances from properties file properties need to be converted to an appropriate field type of a matching Protocol instance. JGroups supplies set of converters in PropertyConverters class.

    Third parties can provide their own converters if such need arises by implementing PropertyConverter interface and by specifying that converter as converter on a specific Property annotation of a field or a method instance.

    Property annotation can decorate either a field or a method of a Property class. If a method is decorated with Property annotation it is assumed that such a method is a setter with only one parameter type that a specified converter can convert from a String to an actual type.

    Author:
    Vladimir Blagojevic
    • Element Detail

      • name

        java.lang.String name
        Default:
        ""
      • description

        java.lang.String description
        Default:
        ""
      • deprecatedMessage

        java.lang.String deprecatedMessage
        Default:
        ""
      • converter

        java.lang.Class<? extends PropertyConverter> converter
        Default:
        org.jgroups.conf.PropertyConverters.Default.class
      • dependsUpon

        java.lang.String dependsUpon
        Default:
        ""
      • systemProperty

        java.lang.String[] systemProperty
        Default:
        {}
      • defaultValueIPv4

        java.lang.String defaultValueIPv4
        Global.NON_LOOPBACK_ADDRESS means pick any valid non-loopback IPv4 address
        Default:
        ""
      • defaultValueIPv6

        java.lang.String defaultValueIPv6
        Global.NON_LOOPBACK_ADDRESS means pick any valid non-loopback IPv6 address
        Default:
        ""
      • exposeAsManagedAttribute

        boolean exposeAsManagedAttribute
        Expose this property also as a managed attribute
        Default:
        true
      • writable

        boolean writable
        Default:
        true
      • type

        AttributeType type
        Defines the type, used for pretty printing
        Default:
        org.jgroups.conf.AttributeType.UNDEFINED
      • unit

        java.util.concurrent.TimeUnit unit
        Only used if type is TIME
        Default:
        java.util.concurrent.TimeUnit.MILLISECONDS