org.osgi.service.metatype
Interface AttributeDefinition
- public interface AttributeDefinition
An interface to describe an attribute.
An AttributeDefinition object defines a description of the
data type of a property/attribute.
|
Field Summary |
static int |
BIGDECIMAL
The BIGDECIMAL(10) type. |
static int |
BIGINTEGER
The BIGINTEGER(9) type. |
static int |
BOOLEAN
The BOOLEAN(11) type. |
static int |
BYTE
The BYTE(6) type. |
static int |
CHARACTER
The CHARACTER(5) type. |
static int |
DOUBLE
The DOUBLE(7) type. |
static int |
FLOAT
The FLOAT(8) type. |
static int |
INTEGER
The INTEGER(3) type. |
static int |
LONG
The LONG(2) type. |
static int |
SHORT
The SHORT(4) type. |
static int |
STRING
The STRING(1) type. |
|
Method Summary |
int |
getCardinality()
Return the cardinality of this attribute. |
java.lang.String[] |
getDefaultValue()
Return a default for this attribute. |
java.lang.String |
getDescription()
Return a description of this attribute. |
java.lang.String |
getID()
Unique identity for this attribute. |
java.lang.String |
getName()
Get the name of the attribute. |
java.lang.String[] |
getOptionLabels()
Return a list of labels of option values. |
java.lang.String[] |
getOptionValues()
Return a list of option values that this attribute can take. |
int |
getType()
Return the type for this attribute. |
java.lang.String |
validate(java.lang.String value)
Validate an attribute in String form. |
STRING
public static final int STRING
- The STRING(1) type.
Attributes of this type should be stored as String,
Vector with String or String[] objects, depending
on the getCardinality() value.
- See Also:
- Constant Field Values
LONG
public static final int LONG
- The LONG(2) type.
Attributes of this type should be stored as Long,
Vector with Long or long[] objects, depending
on the getCardinality() value.
- See Also:
- Constant Field Values
INTEGER
public static final int INTEGER
- The INTEGER(3) type.
Attributes of this type should be stored as Integer,
Vector with Integer or int[] objects, depending
on the getCardinality() value.
- See Also:
- Constant Field Values
SHORT
public static final int SHORT
- The SHORT(4) type.
Attributes of this type should be stored as Short,
Vector with Short or short[] objects, depending
on the getCardinality() value.
- See Also:
- Constant Field Values
CHARACTER
public static final int CHARACTER
- The CHARACTER(5) type.
Attributes of this type should be stored as Character,
Vector with Character or char[] objects, depending
on the getCardinality() value.
- See Also:
- Constant Field Values
BYTE
public static final int BYTE
- The BYTE(6) type.
Attributes of this type should be stored as Byte,
Vector with Byte or byte[] objects, depending
on the getCardinality() value.
- See Also:
- Constant Field Values
DOUBLE
public static final int DOUBLE
- The DOUBLE(7) type.
Attributes of this type should be stored as Double,
Vector with Double or double[] objects, depending
on the getCardinality() value.
- See Also:
- Constant Field Values
FLOAT
public static final int FLOAT
- The FLOAT(8) type.
Attributes of this type should be stored as Float
Vector with Float or float[] objects, depending
on the getCardinality() value.
- See Also:
- Constant Field Values
BIGINTEGER
public static final int BIGINTEGER
- The BIGINTEGER(9) type.
Attributes of this type should be stored as BigInteger,
Vector with BigInteger or BigInteger[] objects, depending
on the getCardinality() value.
- See Also:
- Constant Field Values
BIGDECIMAL
public static final int BIGDECIMAL
- The BIGDECIMAL(10) type.
Attributes of this type should be stored as BigDecimal
Vector with BigDecimal or BigDecimal[] objects depending
on getCardinality().
- See Also:
- Constant Field Values
BOOLEAN
public static final int BOOLEAN
- The BOOLEAN(11) type.
Attributes of this type should be stored as Boolean,
Vector with Boolean or boolean[] objects depending
on getCardinality().
- See Also:
- Constant Field Values
getName
public java.lang.String getName()
- Get the name of the attribute. This name may be
localized.
- Returns:
- The localized name of the definition.
getID
public java.lang.String getID()
- Unique identity for this attribute.
Attributes share a global namespace in the registry. E.g.
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 organisations 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:
- The id or oid
getDescription
public java.lang.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:
- The localized description of the definition.
getCardinality
public int getCardinality()
- Return the cardinality of this attribute.
The OSGi environment handles multi valued
attributes in arrays ([]) or in Vector objects. The
return value is defined as follows:
x = Integer.MIN_VALUE no limit, but use Vector
x < 0 -x = max occurrences, store in Vector
x > 0 x = max occurrences, store in array []
x = Integer.MAX_VALUE no limit, but use array []
x = 0 1 occurrence required
getType
public int getType()
- Return the type for this attribute.
Defined in the
following constants which map to the appropriate Java type.
STRING, LONG, INTEGER, CHAR,
BYTE, DOUBLE, FLOAT, BIGINTEGER,
BIGDECIMAL, BOOLEAN.
getOptionValues
public java.lang.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().
I.e. 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:
- A list values
getOptionLabels
public java.lang.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.
I.e. 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:
- A list values
validate
public java.lang.String validate(java.lang.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
- Parameters:
value - The value before turning it into the basic data type
- Returns:
- null, "", or another string
getDefaultValue
public java.lang.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. E.g. 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 vectors of 0 elements.
- Returns:
- Return a default value or null if no default exists.
Copyright © OSGi Alliance (2000, 2003). All Rights Reserved. Licensed under the OSGi Specification License, Version 1.0