Overview | Package | Class | Tree | Serialized | Deprecated | Index | Help
| OSGi Service Platform Release 3
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## 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.

Field Detail

### 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.

### 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.

### 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.

### 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.

### 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.

### 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.

### 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.

### 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.

### 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.

### 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()`.

### 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()`.

Method Detail

### 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.

Overview | Package | Class | Tree | Serialized | Deprecated | Index | Help
| OSGi Service Platform Release 3
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright (c) OSGi Alliance (2000, 2003). All Rights Reserved.