Annotation 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
-
Optional Element Summary
Optional ElementsModifier and TypeOptional ElementDescriptionClass<? extends PropertyConverter> Global.NON_LOOPBACK_ADDRESS means pick any valid non-loopback IPv4 addressGlobal.NON_LOOPBACK_ADDRESS means pick any valid non-loopback IPv6 addressbooleanConfigures whether to expose this property as a managed attribute.String[]If the value is not explicitly specified, attempt to fetch the value first from the System property usingSystem.getProperty(java.lang.String), secondly from the environment variableSystem.getenv(java.lang.String)of the given names.Defines the type, used for pretty printingOnly used if type is TIMEbooleanConfigures whether this managed attribute is writeable at runtime.
-
Element Details
-
name
String name- Default:
""
-
description
String description- Default:
""
-
deprecatedMessage
String deprecatedMessage- Default:
""
-
converter
Class<? extends PropertyConverter> converter- Default:
org.jgroups.conf.PropertyConverters.Default.class
-
dependsUpon
String dependsUpon- Default:
""
-
systemProperty
String[] systemPropertyIf the value is not explicitly specified, attempt to fetch the value first from the System property usingSystem.getProperty(java.lang.String), secondly from the environment variableSystem.getenv(java.lang.String)of the given names. If all lookups fail, the field will be null.- Default:
{}
-
defaultValueIPv4
String defaultValueIPv4Global.NON_LOOPBACK_ADDRESS means pick any valid non-loopback IPv4 address- Default:
""
-
defaultValueIPv6
String defaultValueIPv6Global.NON_LOOPBACK_ADDRESS means pick any valid non-loopback IPv6 address- Default:
""
-
exposeAsManagedAttribute
boolean exposeAsManagedAttributeConfigures whether to expose this property as a managed attribute. This is typically used to disable exposing objects that are not well represented as Strings or other primitives and security-sensitive configuration. Write-only managed attributes are not supported.- Default:
true
-
writable
boolean writableConfigures whether this managed attribute is writeable at runtime. Protocols exposing writeable attributes must ensure that the implementation uses the updated value. If set to true, automatically sets exposeAsManagedAttribute to true.- Default:
true
-
type
-
unit
-