|
OSGi™ Compendium Release 5 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
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
Deprecated. As of 1.1. |
static int |
BIGINTEGER
Deprecated. As of 1.1. |
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 |
PASSWORD
The PASSWORD (12) 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. |
Field Detail |
---|
static final int STRING
STRING
(1) type.
Attributes of this type should be stored as String
,
Vector
with String
or String[]
objects, depending
on the getCardinality()
value.
static final int LONG
LONG
(2) type.
Attributes of this type should be stored as Long
, Vector
with Long
or long[]
objects, depending on the
getCardinality()
value.
static final int INTEGER
INTEGER
(3) type.
Attributes of this type should be stored as Integer
,
Vector
with Integer
or int[]
objects, depending
on the getCardinality()
value.
static final int SHORT
SHORT
(4) type.
Attributes of this type should be stored as Short
, Vector
with Short
or short[]
objects, depending on the
getCardinality()
value.
static final int CHARACTER
CHARACTER
(5) type.
Attributes of this type should be stored as Character
,
Vector
with Character
or char[]
objects,
depending on the getCardinality()
value.
static final int BYTE
BYTE
(6) type.
Attributes of this type should be stored as Byte
, Vector
with Byte
or byte[]
objects, depending on the
getCardinality()
value.
static final int DOUBLE
DOUBLE
(7) type.
Attributes of this type should be stored as Double
,
Vector
with Double
or double[]
objects, depending
on the getCardinality()
value.
static final int FLOAT
FLOAT
(8) type.
Attributes of this type should be stored as Float
, Vector
with Float
or float[]
objects, depending on the
getCardinality()
value.
static final int BIGINTEGER
BIGINTEGER
(9) type.
Attributes of this type should be stored as BigInteger
,
Vector
with BigInteger
or BigInteger[]
objects,
depending on the getCardinality()
value.
static final int BIGDECIMAL
BIGDECIMAL
(10) type.
Attributes of this type should be stored as BigDecimal
,
Vector
with BigDecimal
or BigDecimal[]
objects
depending on getCardinality()
.
static final int BOOLEAN
BOOLEAN
(11) type.
Attributes of this type should be stored as Boolean
,
Vector
with Boolean
or boolean[]
objects
depending on getCardinality()
.
static final int PASSWORD
PASSWORD
(12) type.
Attributes of this type must be stored as String
, Vector
with String
or String[]
objects depending on {link
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.
Method Detail |
---|
java.lang.String getName()
java.lang.String getID()
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.
java.lang.String getDescription()
int getCardinality()
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
int getType()
Defined in the following constants which map to the appropriate Java
type. STRING
,LONG
,INTEGER
, CHAR
,
BYTE
,DOUBLE
,FLOAT
, BOOLEAN
.
java.lang.String[] getOptionValues()
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" }
.
java.lang.String[] getOptionLabels()
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" }
.
java.lang.String validate(java.lang.String value)
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 wrongIf 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" ]
value
- 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.
null
, "", or another stringjava.lang.String[] getDefaultValue()
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.
null
if no default exists.
|
OSGi™ Compendium Release 5 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |