Class TabularDataSupport

    • Nested Class Summary

      • Nested classes/interfaces inherited from interface java.util.Map

        Map.Entry<K,V>
    • Constructor Summary

      Constructors 
      Constructor Description
      TabularDataSupport​(TabularType tabularType)
      Creates an empty TabularDataSupport instance whose open-type is tabularType, and whose underlying HashMap has a default initial capacity (101) and default load factor (0.75).
      TabularDataSupport​(TabularType tabularType, int initialCapacity, float loadFactor)
      Creates an empty TabularDataSupport instance whose open-type is tabularType, and whose underlying HashMap has the specified initial capacity and load factor.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      Object[] calculateIndex​(CompositeData value)
      Calculates the index that would be used in this TabularData instance to refer to the specified composite data value parameter if it were added to this instance.
      void clear​()
      Removes all rows from this TabularDataSupport instance.
      Object clone​()
      Returns a clone of this TabularDataSupport instance: the clone is obtained by calling super.clone(), and then cloning the underlying map.
      boolean containsKey​(Object key)
      Returns true if and only if this TabularData instance contains a CompositeData value (ie a row) whose index is the specified key.
      boolean containsKey​(Object[] key)
      Returns true if and only if this TabularData instance contains a CompositeData value (ie a row) whose index is the specified key.
      boolean containsValue​(Object value)
      Returns true if and only if this TabularData instance contains the specified value.
      boolean containsValue​(CompositeData value)
      Returns true if and only if this TabularData instance contains the specified CompositeData value.
      Set<Map.Entry<Object,Object>> entrySet​()
      Returns a collection view of the index to row mappings contained in this TabularDataSupport instance.
      boolean equals​(Object obj)
      Compares the specified obj parameter with this TabularDataSupport instance for equality.
      Object get​(Object key)
      This method simply calls get((Object[]) key).
      CompositeData get​(Object[] key)
      Returns the CompositeData value whose index is key, or null if there is no value mapping to key, in this TabularData instance.
      TabularType getTabularType​()
      Returns the tabular type describing this TabularData instance.
      int hashCode​()
      Returns the hash code value for this TabularDataSupport instance.
      boolean isEmpty​()
      Returns true if this TabularDataSupport instance contains no rows.
      Set<Object> keySet​()
      Returns a set view of the keys contained in the underlying map of this TabularDataSupport instance used to index the rows.
      Object put​(Object key, Object value)
      This method simply calls put((CompositeData) value) and therefore ignores its key parameter which can be null.
      void put​(CompositeData value)
      Adds value to this TabularData instance.
      void putAll​(Map<?,?> t)
      Add all the values contained in the specified map t to this TabularData instance.
      void putAll​(CompositeData[] values)
      Add all the elements in values to this TabularData instance.
      Object remove​(Object key)
      This method simply calls remove((Object[]) key).
      CompositeData remove​(Object[] key)
      Removes the CompositeData value whose index is key from this TabularData instance, and returns the removed value, or returns null if there is no value whose index is key.
      int size​()
      Returns the number of rows in this TabularDataSupport instance.
      String toString​()
      Returns a string representation of this TabularDataSupport instance.
      Collection<Object> values​()
      Returns a collection view of the rows contained in this TabularDataSupport instance.
    • Constructor Detail

      • TabularDataSupport

        public TabularDataSupport​(TabularType tabularType)
        Creates an empty TabularDataSupport instance whose open-type is tabularType, and whose underlying HashMap has a default initial capacity (101) and default load factor (0.75).

        This constructor simply calls this(tabularType, 101, 0.75f);

        Parameters:
        tabularType - the tabular type describing this TabularData instance; cannot be null.
        Throws:
        IllegalArgumentException - if the tabular type is null.
      • TabularDataSupport

        public TabularDataSupport​(TabularType tabularType,
                                  int initialCapacity,
                                  float loadFactor)
        Creates an empty TabularDataSupport instance whose open-type is tabularType, and whose underlying HashMap has the specified initial capacity and load factor.
        Parameters:
        tabularType - the tabular type describing this TabularData instance; cannot be null.
        initialCapacity - the initial capacity of the HashMap.
        loadFactor - the load factor of the HashMap
        Throws:
        IllegalArgumentException - if the initial capacity is less than zero, or the load factor is nonpositive, or the tabular type is null.
    • Method Detail

      • getTabularType

        public TabularType getTabularType​()
        Returns the tabular type describing this TabularData instance.
        Specified by:
        getTabularType in interface TabularData
        Returns:
        the tabular type.
      • calculateIndex

        public Object[] calculateIndex​(CompositeData value)
        Calculates the index that would be used in this TabularData instance to refer to the specified composite data value parameter if it were added to this instance. This method checks for the type validity of the specified value, but does not check if the calculated index is already used to refer to a value in this TabularData instance.
        Specified by:
        calculateIndex in interface TabularData
        Parameters:
        value - the composite data value whose index in this TabularData instance is to be calculated; must be of the same composite type as this instance's row type; must not be null.
        Returns:
        the index that the specified value would have in this TabularData instance.
        Throws:
        NullPointerException - if value is null.
        InvalidOpenTypeException - if value does not conform to this TabularData instance's row type definition.
      • containsKey

        public boolean containsKey​(Object key)
        Returns true if and only if this TabularData instance contains a CompositeData value (ie a row) whose index is the specified key. If key cannot be cast to a one dimension array of Object instances, this method simply returns false; otherwise it returns the result of the call to this.containsKey((Object[]) key).
        Specified by:
        containsKey in interface Map<Object,Object>
        Parameters:
        key - the index value whose presence in this TabularData instance is to be tested.
        Returns:
        true if this TabularData indexes a row value with the specified key.
      • containsKey

        public boolean containsKey​(Object[] key)
        Returns true if and only if this TabularData instance contains a CompositeData value (ie a row) whose index is the specified key. If key is null or does not conform to this TabularData instance's TabularType definition, this method simply returns false.
        Specified by:
        containsKey in interface TabularData
        Parameters:
        key - the index value whose presence in this TabularData instance is to be tested.
        Returns:
        true if this TabularData indexes a row value with the specified key.
      • containsValue

        public boolean containsValue​(CompositeData value)
        Returns true if and only if this TabularData instance contains the specified CompositeData value. If value is null or does not conform to this TabularData instance's row type definition, this method simply returns false.
        Specified by:
        containsValue in interface TabularData
        Parameters:
        value - the row value whose presence in this TabularData instance is to be tested.
        Returns:
        true if this TabularData instance contains the specified row value.
      • containsValue

        public boolean containsValue​(Object value)
        Returns true if and only if this TabularData instance contains the specified value.
        Specified by:
        containsValue in interface Map<Object,Object>
        Parameters:
        value - the row value whose presence in this TabularData instance is to be tested.
        Returns:
        true if this TabularData instance contains the specified row value.
      • get

        public Object get​(Object key)
        This method simply calls get((Object[]) key).
        Specified by:
        get in interface Map<Object,Object>
        Parameters:
        key - the key whose associated value is to be returned
        Returns:
        the value to which the specified key is mapped, or null if this map contains no mapping for the key
        Throws:
        NullPointerException - if the key is null
        ClassCastException - if the key is not of the type Object[]
        InvalidKeyException - if the key does not conform to this TabularData instance's TabularType definition
      • get

        public CompositeData get​(Object[] key)
        Returns the CompositeData value whose index is key, or null if there is no value mapping to key, in this TabularData instance.
        Specified by:
        get in interface TabularData
        Parameters:
        key - the index of the value to get in this TabularData instance; must be valid with this TabularData instance's row type definition; must not be null.
        Returns:
        the value corresponding to key.
        Throws:
        NullPointerException - if the key is null
        InvalidKeyException - if the key does not conform to this TabularData instance's TabularType type definition.
      • put

        public Object put​(Object key,
                          Object value)
        This method simply calls put((CompositeData) value) and therefore ignores its key parameter which can be null.
        Specified by:
        put in interface Map<Object,Object>
        Parameters:
        key - an ignored parameter.
        value - the CompositeData to put.
        Returns:
        the value which is put
        Throws:
        NullPointerException - if the value is null
        ClassCastException - if the value is not of the type CompositeData
        InvalidOpenTypeException - if the value does not conform to this TabularData instance's TabularType definition
        KeyAlreadyExistsException - if the key for the value parameter, calculated according to this TabularData instance's TabularType definition already maps to an existing value
      • put

        public void put​(CompositeData value)
        Description copied from interface: TabularData
        Adds value to this TabularData instance. The composite type of value must be the same as this instance's row type (ie the composite type returned by this.getTabularType().getRowType()), and there must not already be an existing value in this TabularData instance whose index is the same as the one calculated for the value to be added. The index for value is calculated according to this TabularData instance's TabularType definition (see TabularType.getIndexNames()).
        Specified by:
        put in interface TabularData
        Parameters:
        value - the composite data value to be added as a new row to this TabularData instance; must be of the same composite type as this instance's row type; must not be null.
      • remove

        public Object remove​(Object key)
        This method simply calls remove((Object[]) key).
        Specified by:
        remove in interface Map<Object,Object>
        Parameters:
        key - an Object[] representing the key to remove.
        Returns:
        previous value associated with specified key, or null if there was no mapping for key.
        Throws:
        NullPointerException - if the key is null
        ClassCastException - if the key is not of the type Object[]
        InvalidKeyException - if the key does not conform to this TabularData instance's TabularType definition
      • remove

        public CompositeData remove​(Object[] key)
        Removes the CompositeData value whose index is key from this TabularData instance, and returns the removed value, or returns null if there is no value whose index is key.
        Specified by:
        remove in interface TabularData
        Parameters:
        key - the index of the value to get in this TabularData instance; must be valid with this TabularData instance's row type definition; must not be null.
        Returns:
        previous value associated with specified key, or null if there was no mapping for key.
        Throws:
        NullPointerException - if the key is null
        InvalidKeyException - if the key does not conform to this TabularData instance's TabularType definition
      • putAll

        public void putAll​(Map<?,?> t)
        Add all the values contained in the specified map t to this TabularData instance. This method converts the collection of values contained in this map into an array of CompositeData values, if possible, and then call the method putAll(CompositeData[]). Note that the keys used in the specified map t are ignored. This method allows, for example to add the content of another TabularData instance with the same row type (but possibly different index names) into this instance.
        Specified by:
        putAll in interface Map<Object,Object>
        Parameters:
        t - the map whose values are to be added as new rows to this TabularData instance; if t is null or empty, this method returns without doing anything.
        Throws:
        NullPointerException - if a value in t is null.
        ClassCastException - if a value in t is not an instance of CompositeData.
        InvalidOpenTypeException - if a value in t does not conform to this TabularData instance's row type definition.
        KeyAlreadyExistsException - if the index for a value in t, calculated according to this TabularData instance's TabularType definition already maps to an existing value in this instance, or two values in t have the same index.
      • putAll

        public void putAll​(CompositeData[] values)
        Add all the elements in values to this TabularData instance. If any element in values does not satisfy the constraints defined in put, or if any two elements in values have the same index calculated according to this TabularData instance's TabularType definition, then an exception describing the failure is thrown and no element of values is added, thus leaving this TabularData instance unchanged.
        Specified by:
        putAll in interface TabularData
        Parameters:
        values - the array of composite data values to be added as new rows to this TabularData instance; if values is null or empty, this method returns without doing anything.
        Throws:
        NullPointerException - if an element of values is null
        InvalidOpenTypeException - if an element of values does not conform to this TabularData instance's row type definition (ie its TabularType definition)
        KeyAlreadyExistsException - if the index for an element of values, calculated according to this TabularData instance's TabularType definition already maps to an existing value in this instance, or two elements of values have the same index
      • clear

        public void clear​()
        Removes all rows from this TabularDataSupport instance.
        Specified by:
        clear in interface Map<Object,Object>
        Specified by:
        clear in interface TabularData
      • size

        public int size​()
        Returns the number of rows in this TabularDataSupport instance.
        Specified by:
        size in interface Map<Object,Object>
        Specified by:
        size in interface TabularData
        Returns:
        the number of rows in this TabularDataSupport instance.
      • isEmpty

        public boolean isEmpty​()
        Returns true if this TabularDataSupport instance contains no rows.
        Specified by:
        isEmpty in interface Map<Object,Object>
        Specified by:
        isEmpty in interface TabularData
        Returns:
        true if this TabularDataSupport instance contains no rows.
      • clone

        public Object clone​()
        Returns a clone of this TabularDataSupport instance: the clone is obtained by calling super.clone(), and then cloning the underlying map. Only a shallow clone of the underlying map is made, i.e. no cloning of the indexes and row values is made as they are immutable.
        Overrides:
        clone in class Object
        Returns:
        a clone of this instance.
        See Also:
        Cloneable
      • equals

        public boolean equals​(Object obj)
        Compares the specified obj parameter with this TabularDataSupport instance for equality.

        Returns true if and only if all of the following statements are true:

        • obj is non null,
        • obj also implements the TabularData interface,
        • their tabular types are equal
        • their contents (ie all CompositeData values) are equal.
        This ensures that this equals method works properly for obj parameters which are different implementations of the TabularData interface.
         
        Specified by:
        equals in interface Map<Object,Object>
        Specified by:
        equals in interface TabularData
        Overrides:
        equals in class Object
        Parameters:
        obj - the object to be compared for equality with this TabularDataSupport instance;
        Returns:
        true if the specified object is equal to this TabularDataSupport instance.
        See Also:
        Object.hashCode(), HashMap
      • hashCode

        public int hashCode​()
        Returns the hash code value for this TabularDataSupport instance.

        The hash code of a TabularDataSupport instance is the sum of the hash codes of all elements of information used in equals comparisons (ie: its tabular type and its content, where the content is defined as all the CompositeData values).

        This ensures that t1.equals(t2) implies that t1.hashCode()==t2.hashCode() for any two TabularDataSupport instances t1 and t2, as required by the general contract of the method Object.hashCode().

        However, note that another instance of a class implementing the TabularData interface may be equal to this TabularDataSupport instance as defined by equals(java.lang.Object), but may have a different hash code if it is calculated differently.

        Specified by:
        hashCode in interface Map<Object,Object>
        Specified by:
        hashCode in interface TabularData
        Overrides:
        hashCode in class Object
        Returns:
        the hash code value for this TabularDataSupport instance
        See Also:
        Object.equals(java.lang.Object), System.identityHashCode(java.lang.Object)
      • toString

        public String toString​()
        Returns a string representation of this TabularDataSupport instance.

        The string representation consists of the name of this class (ie javax.management.openmbean.TabularDataSupport), the string representation of the tabular type of this instance, and the string representation of the contents (ie list the key=value mappings as returned by a call to dataMap.toString()).

        Specified by:
        toString in interface TabularData
        Overrides:
        toString in class Object
        Returns:
        a string representation of this TabularDataSupport instance