Interface PropertyMetaData

All Known Implementing Classes:
PropertyMetaDataImpl

public interface PropertyMetaData
This interface defines meta data regarding a given configuration property.
Author:
Felix Project Team
  • Method Details

    • setHeading

      PropertyMetaData setHeading(String heading)
      The label used to display the property. Example: "Log Level".
      Returns:
      The label used to display the property (may be localized)
    • setId

      The key of a ConfigurationAdmin property. Example: "printer.logLevel"
      Returns:
      The Configuration Admin property name
    • setType

      PropertyMetaData setType(Class<?> type)
      Returns the property primitive type. If must be either one of the following types:

      • String.class
      • Long.class
      • Integer.class
      • Character.class
      • Byte.class
      • Double.class
      • Float.class
      • Boolean.class
    • setDefaults

      PropertyMetaData setDefaults(String[] defaults)
      Returns a default for this property. 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.
    • setDefaults

      default PropertyMetaData setDefaults(String def, String... defaults)
      Returns some defaults for this property. 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.
    • setDescription

      PropertyMetaData setDescription(String description)
      Returns the property description. The description may be localized and must describe the semantics of this type and any constraints. Example: "Select the log level for the Printer Service".
      Returns:
      a localizable description of the property.
    • setCardinality

      PropertyMetaData setCardinality(int cardinality)
      Return the cardinality of this property. The OSGi environment handles multi valued properties in arrays ([]) or in Vector objects. The return value is defined as follows:

      • x = Integer.MIN_VALUE no limit, but use Vector
      • x invalid input: '<' 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
    • setRequired

      PropertyMetaData setRequired(boolean required)
      Tells if this property is required or not.
    • addOption

      PropertyMetaData addOption(String optionLabel, String optionValue)
      Return a list of valid options for this property (the labels may be localized).
      Returns:
      the list of valid options for this property.