Top Description Fields Methods
org.osgi.service.metatype

public Interface AttributeDefinition

Annotations
@ConsumerType
Imports
org.osgi.annotation.versioning.ConsumerType

An interface to describe an attribute.

An AttributeDefinition object defines a description of the data type of a property/attribute.

Author
$Id: f150d7f8f42a0093a2086fc306816d7f39c03f46 $

Field Summary

Modifier and TypeField and Description
public static final int
BIGDECIMAL

Deprecated As of 1.1.
The BIGDECIMAL type.
public static final int
BIGINTEGER

Deprecated As of 1.1.
The BIGINTEGER type.
public static final int
BOOLEAN

The BOOLEAN type.

public static final int
BYTE

The BYTE type.

public static final int
CHARACTER

The CHARACTER type.

public static final int
DOUBLE

The DOUBLE type.

public static final int
FLOAT

The FLOAT type.

public static final int
INTEGER

The INTEGER type.

public static final int
LONG

The LONG type.

public static final int
PASSWORD

The PASSWORD type.

public static final int
SHORT

The SHORT type.

public static final int
STRING

The STRING type.

Method Summary

Modifier and TypeMethod and Description
public int

Returns:

The cardinality of this attribute.
getCardinality
()

Return the cardinality of this attribute.

public String[]

Returns:

Return a default value or null if no default exists.
getDefaultValue
()

Return a default for this attribute.

public String

Returns:

The localized description of the definition.
getDescription
()

Return a description of this attribute.

public String

Returns:

The id or oid
getID
()

Unique identity for this attribute.

public String

Returns:

The localized name of the definition.
getName
()

Get the name of the attribute.

public String[]

Returns:

A list values
getOptionLabels
()

Return a list of labels of option values.

public String[]

Returns:

A list values
getOptionValues
()

Return a list of option values that this attribute can take.

public int

Returns:

The type for this attribute.
getType
()

Return the type for this attribute.

public String

Returns:

null, "", or another string
validate
(String
The value before turning it into the basic data type. If the cardinality indicates a multi-valued attribute then the given string must be escaped.
value
)

Validate an attribute in String form.

Field Detail

BIGDECIMALback to summary
public static final int BIGDECIMAL

Deprecated

As of 1.1.

The BIGDECIMAL type. Attributes of this type should be stored as BigDecimal, List<BigDecimal> or BigDecimal[] objects depending on getCardinality().

BIGINTEGERback to summary
public static final int BIGINTEGER

Deprecated

As of 1.1.

The BIGINTEGER type. Attributes of this type should be stored as BigInteger, List<BigInteger> or BigInteger[] objects, depending on the getCardinality() value.

BOOLEANback to summary
public static final int BOOLEAN

The BOOLEAN type. Attributes of this type should be stored as Boolean, List<Boolean> or boolean[] objects depending on getCardinality().

BYTEback to summary
public static final int BYTE

The BYTE type. Attributes of this type should be stored as Byte, List<Byte> or byte[] objects, depending on the getCardinality() value.

CHARACTERback to summary
public static final int CHARACTER

The CHARACTER type. Attributes of this type should be stored as Character, List<Character> or char[] objects, depending on the getCardinality() value.

DOUBLEback to summary
public static final int DOUBLE

The DOUBLE type. Attributes of this type should be stored as Double, List<Double> or double[] objects, depending on the getCardinality() value.

FLOATback to summary
public static final int FLOAT

The FLOAT type. Attributes of this type should be stored as Float, List<Float> or float[] objects, depending on the getCardinality() value.

INTEGERback to summary
public static final int INTEGER

The INTEGER type. Attributes of this type should be stored as Integer, List<Integer> or int[] objects, depending on the getCardinality() value.

LONGback to summary
public static final int LONG

The LONG type. Attributes of this type should be stored as Long, List<Long> or long[] objects, depending on the getCardinality() value.

PASSWORDback to summary
public static final int PASSWORD

The PASSWORD type. Attributes of this type must be stored as String, List<String> or String[] objects depending on getCardinality(). A PASSWORD must be treated as a string but the type can be used to disguise the information when displayed to a user to prevent others from seeing it.

Since
1.2
SHORTback to summary
public static final int SHORT

The SHORT type. Attributes of this type should be stored as Short, List<Short> or short[] objects, depending on the getCardinality() value.

STRINGback to summary
public static final int STRING

The STRING type.

Attributes of this type should be stored as String, List<String> or String[] objects, depending on the getCardinality() value.

Method Detail

getCardinalityback to summary
public int getCardinality()

Return the cardinality of this attribute. The OSGi environment handles multi valued attributes in arrays ([]) or in List objects. The return value is defined as follows:


   x = Integer.MIN_VALUE    no limit, but use List
   x < 0                    -x = max occurrences, store in List
   x > 0                     x = max occurrences, store in array []
   x = Integer.MAX_VALUE    no limit, but use array []
   x = 0                     1 occurrence required

Returns:int

The cardinality of this attribute.

getDefaultValueback to summary
public String[] getDefaultValue()

Return a default for this attribute. The object must be of the appropriate type as defined by the cardinality and getType(). The return type is a list of String objects that can be converted to the appropriate type. The cardinality of the return array must follow the absolute cardinality of this type. For example, if the cardinality = 0, the array must contain 1 element. If the cardinality is 1, it must contain 0 or 1 elements. If it is -5, it must contain from 0 to max 5 elements. Note that the special case of a 0 cardinality, meaning a single value, does not allow arrays or lists of 0 elements.

Returns:String[]

Return a default value or null if no default exists.

getDescriptionback to summary
public String getDescription()

Return a description of this attribute. The description may be localized and must describe the semantics of this type and any constraints.

Returns:String

The localized description of the definition.

getIDback to summary
public String getID()

Unique identity for this attribute. Attributes share a global namespace in the registry. For example, an attribute cn or commonName must always be a String and the semantics are always a name of some object. They share this aspect with LDAP/X.500 attributes. In these standards the OSI Object Identifier (OID) is used to uniquely identify an attribute. If such an OID exists, (which can be requested at several standard organizations and many companies already have a node in the tree) it can be returned here. Otherwise, a unique id should be returned which can be a Java class name (reverse domain name) or generated with a GUID algorithm. Note that all LDAP defined attributes already have an OID. It is strongly advised to define the attributes from existing LDAP schemes which will give the OID. Many such schemes exist ranging from postal addresses to DHCP parameters.

Returns:String

The id or oid

getNameback to summary
public String getName()

Get the name of the attribute. This name may be localized.

Returns:String

The localized name of the definition.

getOptionLabelsback to summary
public String[] getOptionLabels()

Return a list of labels of option values.

The purpose of this method is to allow menus with localized labels. It is associated with getOptionValues. The labels returned here are ordered in the same way as the values in that method.

If the function returns null, there are no option labels available.

This list must be in the same sequence as the getOptionValues() method. That is, for each index i in getOptionLabels, i in getOptionValues() should be the associated value.

For example, if an attribute can have the value male, female, unknown, this list can return (for dutch) new String[] { "Man", "Vrouw", "Onbekend" }.

Returns:String[]

A list values

getOptionValuesback to summary
public String[] getOptionValues()

Return a list of option values that this attribute can take.

If the function returns null, there are no option values available.

Each value must be acceptable to validate() (return "") and must be a String object that can be converted to the data type defined by getType() for this attribute.

This list must be in the same sequence as getOptionLabels(). That is, for each index i in getOptionValues, i in getOptionLabels() should be the label.

For example, if an attribute can have the value male, female, unknown, this list can return new String[] { "male", "female", "unknown" }.

Returns:String[]

A list values

getTypeback to summary
public int getType()

Return the type for this attribute.

Defined in the following constants which map to the appropriate Java type. STRING,LONG,INTEGER, SHORT, CHARACTER, BYTE,DOUBLE,FLOAT, BOOLEAN, PASSWORD.

Returns:int

The type for this attribute.

validateback to summary
public String validate(String value)

Validate an attribute in String form. An attribute might be further constrained in value. This method will attempt to validate the attribute according to these constraints. It can return three different values:

 null           No validation present
 ""             No problems detected
 "..."          A localized description of why the value is wrong
If the cardinality of this attribute is multi-valued then this string must be interpreted as a comma delimited string. The complete value must be trimmed from white space as well as spaces around commas. Commas ( ',' \u002C) and spaces (' ' \u0020) and backslashes ('\' \u005C) can be escaped with another backslash. Escaped spaces must not be trimmed. For example:
value="  a\,b,b\,c,\ c\\,d   " => [ "a,b", "b,c", " c\", "d" ]
Parameters
value:String

The value before turning it into the basic data type. If the cardinality indicates a multi-valued attribute then the given string must be escaped.

Returns:String

null, "", or another string