Package org.osgi.jmx

Class Item


  • public class Item
    extends Object
    The item class enables the definition of open types in the appropriate interfaces. This class contains a number of methods that make it possible to create open types for CompositeType, TabularType, and ArrayType. The normal creation throws a checked exception, making it impossible to use them in a static initializer. They constructors are also not very suitable for static construction. An Item instance describes an item in a Composite Type. It groups the triplet of name, description, and Open Type. These Item instances allows the definitions of an item to stay together.
    • Constructor Detail

      • Item

        public Item​(String name,
                    String description,
                    OpenType type,
                    String... restrictions)
        Create a triple of name, description, and type. This triplet is used in the creation of a Composite Type.
        Parameters:
        name - The name of the item.
        description - The description of the item.
        type - The Open Type of this item.
        restrictions - Ignored, contains list of restrictions
    • Method Detail

      • tabularType

        public static TabularType tabularType​(String name,
                                              String description,
                                              CompositeType rowType,
                                              String... index)
        Create a Tabular Type.
        Parameters:
        name - The name of the Tabular Type.
        description - The description of the Tabular Type.
        rowType - The Open Type for a row
        index - The names of the items that form the index .
        Returns:
        A new Tabular Type composed from the parameters.
        Throws:
        RuntimeException - when the Tabular Type throws an OpenDataException
      • compositeType

        public static CompositeType compositeType​(String name,
                                                  String description,
                                                  Item... items)
        Create a Composite Type
        Parameters:
        name - The name of the Tabular Type.
        description - The description of the Tabular Type.
        items - The items that describe the composite type.
        Returns:
        a new Composite Type
        Throws:
        RuntimeException - when the Tabular Type throws an OpenDataException
      • arrayType

        public static <T> ArrayType<T> arrayType​(int dim,
                                                 OpenType<T> elementType)
        Return a new Array Type.
        Parameters:
        dim - The dimension
        elementType - The element type
        Returns:
        A new Array Type
      • extend

        public static CompositeType extend​(CompositeType parent,
                                           String name,
                                           String description,
                                           Item... items)
        Extend a Composite Type by adding new items. Items can override items in the parent type.
        Parameters:
        parent - The parent type, can be null
        name - The name of the type
        description - The description of the type
        items - The items that should be added/override to the parent type
        Returns:
        A new Composite Type that extends the parent type
        Throws:
        RuntimeException - when an OpenDataException is thrown