org.apache.felix.metatype

## Class AD

- java.lang.Object
- - org.apache.felix.metatype.OptionalAttributes
  - - org.apache.felix.metatype.AD

    public class AD
    extends OptionalAttributes

The `AD` class represents the `AD` element of the meta type descriptor.

Author:
  Felix Project Team

### Field Summary

Fields
`static String` `VALIDATE_GREATER_THAN_MAXIMUM` The message returned from the `validate(String)` method if the value is greater than the specified `maximum value` (value is "%greater than maximum").
`static String` `VALIDATE_INVALID_VALUE` The message returned from the `validate(String)` method if the value is invalid considering its type (value is "%invalid value").
`static String` `VALIDATE_LESS_THAN_MINIMUM` The message returned from the `validate(String)` method if the value is less than the specified `minimum value` (value is "%less than minimum").
`static String` `VALIDATE_MISSING` The message returned from the `validate(String)` method if the value is null or cannot be converted to an attribute value and a value is `required` (value is "%missing required value").
`static String` `VALIDATE_NOT_A_VALID_OPTION` The message returned from the `validate(String)` method if the value is not any of the specified `option values` (value is "%not a valid option").

### Constructor Summary

Constructors
Constructor and Description
`AD()`

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`protected Comparable` `convertToType(String value)`
`int` `getCardinality()`
`String[]` `getDefaultValue()`
`String` `getDescription()`
`String` `getID()`
`String` `getMax()`
`String` `getMin()`
`String` `getName()`
`String[]` `getOptionLabels()`
`String[]` `getOptionValues()`
`int` `getType()`
`boolean` `isRequired()`
`void` `setCardinality(int cardinality)`
`void` `setDefaultValue(String defaultValue)` Sets the default value(s) for this AD.
`protected void` `setDefaultValue(String[] values, int cardinality)`
`void` `setDescription(String description)`
`void` `setID(String id)`
`void` `setMax(String max)`
`void` `setMin(String min)`
`void` `setName(String name)`
`void` `setOptions(Map options)`
`void` `setRequired(boolean isRequired)`
`void` `setType(String typeString)`
`static String[]` `splitList(String listString)`
`static int` `toType(String typeString)`
`String` `validate(String valueString)` Implements validation of the `valueString` and returns an indication of the validation result.

### Methods inherited from class org.apache.felix.metatype.OptionalAttributes

`addOptionalAttribute, getOptionalAttributes`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### VALIDATE_NOT_A_VALID_OPTION

    public static final String VALIDATE_NOT_A_VALID_OPTION

The message returned from the `validate(String)` method if the value is not any of the specified `option values` (value is "%not a valid option").

See Also:
  Constant Field Values

#### VALIDATE_INVALID_VALUE

    public static final String VALIDATE_INVALID_VALUE

The message returned from the `validate(String)` method if the value is invalid considering its type (value is "%invalid value").

See Also:
  Constant Field Values

#### VALIDATE_GREATER_THAN_MAXIMUM

    public static final String VALIDATE_GREATER_THAN_MAXIMUM

The message returned from the `validate(String)` method if the value is greater than the specified `maximum value` (value is "%greater than maximum").

See Also:
  Constant Field Values

#### VALIDATE_LESS_THAN_MINIMUM

    public static final String VALIDATE_LESS_THAN_MINIMUM

The message returned from the `validate(String)` method if the value is less than the specified `minimum value` (value is "%less than minimum").

See Also:
  Constant Field Values

#### VALIDATE_MISSING

    public static final String VALIDATE_MISSING

The message returned from the `validate(String)` method if the value is null or cannot be converted to an attribute value and a value is `required` (value is "%missing required value").

See Also:
  Constant Field Values

### Constructor Detail

#### AD

    public AD()

### Method Detail

#### getID

    public String getID()

#### getName

    public String getName()

#### getDescription

    public String getDescription()

#### getType

    public int getType()

#### getCardinality

    public int getCardinality()

#### getOptionLabels

    public String[] getOptionLabels()

#### getOptionValues

    public String[] getOptionValues()

#### getDefaultValue

    public String[] getDefaultValue()

#### getMin

    public String getMin()

#### getMax

    public String getMax()

#### isRequired

    public boolean isRequired()

#### validate

    public String validate(String valueString)

Implements validation of the `valueString` and returns an indication of the validation result.

Parameters:
  `valueString` - The string representation of the value to validate, can be `null`.
Returns:
  `null` if no validation is performed, `""` if the value is accepted as valid, or a non-empty string indicating a validation problem was found.
See Also:
  `ADValidator.validate(AD, String)`, `VALIDATE_GREATER_THAN_MAXIMUM`, `VALIDATE_NOT_A_VALID_OPTION`, `VALIDATE_LESS_THAN_MINIMUM`, `VALIDATE_INVALID_VALUE`, `VALIDATE_MISSING`

#### setID

    public void setID(String id)

Parameters:
  `id` - the id to set

#### setName

    public void setName(String name)

Parameters:
  `name` - the name to set

#### setDescription

    public void setDescription(String description)

Parameters:
  `description` - the description to set

#### setType

    public void setType(String typeString)

Parameters:
  `typeString` - the type to set

#### setCardinality

    public void setCardinality(int cardinality)

Parameters:
  `cardinality` - the cardinality to set

#### setOptions

    public void setOptions(Map options)

Parameters:
  `options` - the options to set

#### setDefaultValue

    public void setDefaultValue(String defaultValue)

Sets the default value(s) for this AD.

NOTE: this method is depending on the value of `getCardinality()`! Make sure that the cardinality is properly set before calling this method.

Parameters:
  `defaultValue` - the default value to set, as encoded string-value (using comma's as separator), can be `null`.

#### setMin

    public void setMin(String min)

Parameters:
  `min` - the min to set

#### setMax

    public void setMax(String max)

Parameters:
  `max` - the max to set

#### setRequired

    public void setRequired(boolean isRequired)

Parameters:
  `isRequired` - the isRequired to set

#### toType

    public static int toType(String typeString)

#### splitList

    public static String[] splitList(String listString)

#### convertToType

    protected Comparable convertToType(String value)

#### setDefaultValue

    protected void setDefaultValue(String[] values,
                                   int cardinality)

Parameters:
  `values` - the defaultValue to set