Class TabularDataSupport
- java.lang.Object
-
- javax.management.openmbean.TabularDataSupport
- All Implemented Interfaces:
-
Serializable,Cloneable,Map<Object,Object>,TabularData
public class TabularDataSupport extends Object implements TabularData, Map<Object,Object>, Cloneable, Serializable
The TabularDataSupport class is the open data class which implements the TabularData and the Map interfaces, and which is internally based on a hash map data structure.
- Since:
- 1.5
- See Also:
- Serialized Form
Nested Classes
Nested classes/interfaces declared in interface java.util.Map
Map.Entry<K,V> Constructors
| Constructor | Description |
|---|---|
TabularDataSupport(TabularType tabularType) | Creates an empty |
TabularDataSupport(TabularType tabularType,
int initialCapacity,
float loadFactor) | Creates an empty |
Methods
| Modifier and Type | Method | Description |
|---|---|---|
Object[] | calculateIndex(CompositeData value) | Calculates the index that would be used in this |
void | clear() | Removes all rows from this |
Object | clone() | Returns a clone of this |
boolean | containsKey(Object key) | Returns |
boolean | containsKey(Object[] key) | Returns |
boolean | containsValue(Object value) | Returns |
boolean | containsValue(CompositeData value) | Returns |
Set<Map.Entry<Object,Object>> | entrySet() | Returns a collection view of the index to row mappings contained in this |
boolean | equals(Object obj) | Compares the specified obj parameter with this |
Object | get(Object key) | This method simply calls |
CompositeData | get(Object[] key) | Returns the |
TabularType | getTabularType() | Returns the tabular type describing this |
int | hashCode() | Returns the hash code value for this |
boolean | isEmpty() | Returns |
Set<Object> | keySet() | Returns a set view of the keys contained in the underlying map of this |
Object | put(Object key,
Object value) | This method simply calls |
void | putAll(Map<?,?> t) | Add all the values contained in the specified map t to this |
void | putAll(CompositeData[] values) | Add all the elements in values to this |
Object | remove(Object key) | This method simply calls |
CompositeData | remove(Object[] key) | Removes the |
int | size() | Returns the number of rows in this |
String | toString() | Returns a string representation of this |
Collection<Object> | values() | Returns a collection view of the rows contained in this |
Methods declared in class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait Methods declared in interface java.util.Map
compute, computeIfAbsent, computeIfPresent, forEach, getOrDefault, merge, putIfAbsent, remove, replace, replace, replaceAll Methods declared in interface javax.management.openmbean.TabularData
put Constructors
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 thisTabularDatainstance; 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 thisTabularDatainstance; 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.
Methods
getTabularType
public TabularType getTabularType()
Returns the tabular type describing this TabularData instance.
- Specified by:
-
getTabularTypein interfaceTabularData - 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:
-
calculateIndexin interfaceTabularData - Parameters:
-
value- the composite data value whose index in thisTabularDatainstance 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
TabularDatainstance. - Throws:
-
NullPointerException- if value isnull. -
InvalidOpenTypeException- if value does not conform to thisTabularDatainstance'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:
-
containsKeyin interfaceMap<Object,Object> - Parameters:
-
key- the index value whose presence in thisTabularDatainstance is to be tested. - Returns:
-
trueif thisTabularDataindexes 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:
-
containsKeyin interfaceTabularData - Parameters:
-
key- the index value whose presence in thisTabularDatainstance is to be tested. - Returns:
-
trueif thisTabularDataindexes 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:
-
containsValuein interfaceTabularData - Parameters:
-
value- the row value whose presence in thisTabularDatainstance is to be tested. - Returns:
-
trueif thisTabularDatainstance 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:
-
containsValuein interfaceMap<Object,Object> - Parameters:
-
value- the row value whose presence in thisTabularDatainstance is to be tested. - Returns:
-
trueif thisTabularDatainstance contains the specified row value.
get
public Object get(Object key)
This method simply calls get((Object[]) key).
- Specified by:
-
getin interfaceMap<Object,Object> - Parameters:
-
key- the key whose associated value is to be returned - Returns:
- the value to which the specified key is mapped, or
nullif this map contains no mapping for the key - Throws:
-
NullPointerException- if the key isnull -
ClassCastException- if the key is not of the typeObject[] -
InvalidKeyException- if the key does not conform to thisTabularDatainstance'sTabularTypedefinition
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:
-
getin interfaceTabularData - Parameters:
-
key- the index of the value to get in thisTabularDatainstance; must be valid with thisTabularDatainstance's row type definition; must not be null. - Returns:
- the value corresponding to key.
- Throws:
-
NullPointerException- if the key isnull -
InvalidKeyException- if the key does not conform to thisTabularDatainstance'sTabularTypetype 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:
-
putin interfaceMap<Object,Object> - Parameters:
-
key- an ignored parameter. -
value- theCompositeDatato put. - Returns:
- the value which is put
- Throws:
-
NullPointerException- if the value isnull -
ClassCastException- if the value is not of the typeCompositeData -
InvalidOpenTypeException- if the value does not conform to thisTabularDatainstance'sTabularTypedefinition -
KeyAlreadyExistsException- if the key for the value parameter, calculated according to thisTabularDatainstance'sTabularTypedefinition already maps to an existing value
remove
public Object remove(Object key)
This method simply calls remove((Object[]) key).
- Specified by:
-
removein interfaceMap<Object,Object> - Parameters:
-
key- anObject[]representing the key to remove. - Returns:
- previous value associated with specified key, or
nullif there was no mapping for key. - Throws:
-
NullPointerException- if the key isnull -
ClassCastException- if the key is not of the typeObject[] -
InvalidKeyException- if the key does not conform to thisTabularDatainstance'sTabularTypedefinition
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:
-
removein interfaceTabularData - Parameters:
-
key- the index of the value to get in thisTabularDatainstance; must be valid with thisTabularDatainstance's row type definition; must not be null. - Returns:
- previous value associated with specified key, or
nullif there was no mapping for key. - Throws:
-
NullPointerException- if the key isnull -
InvalidKeyException- if the key does not conform to thisTabularDatainstance'sTabularTypedefinition
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:
-
putAllin interfaceMap<Object,Object> - Parameters:
-
t- the map whose values are to be added as new rows to thisTabularDatainstance; if t isnullor empty, this method returns without doing anything. - Throws:
-
NullPointerException- if a value in t isnull. -
ClassCastException- if a value in t is not an instance ofCompositeData. -
InvalidOpenTypeException- if a value in t does not conform to thisTabularDatainstance's row type definition. -
KeyAlreadyExistsException- if the index for a value in t, calculated according to thisTabularDatainstance'sTabularTypedefinition 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:
-
putAllin interfaceTabularData - Parameters:
-
values- the array of composite data values to be added as new rows to thisTabularDatainstance; if values isnullor empty, this method returns without doing anything. - Throws:
-
NullPointerException- if an element of values isnull -
InvalidOpenTypeException- if an element of values does not conform to thisTabularDatainstance's row type definition (ie itsTabularTypedefinition) -
KeyAlreadyExistsException- if the index for an element of values, calculated according to thisTabularDatainstance'sTabularTypedefinition 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.
size
public int size()
Returns the number of rows in this TabularDataSupport instance.
- Specified by:
-
sizein interfaceMap<Object,Object> - Specified by:
-
sizein interfaceTabularData - Returns:
- the number of rows in this
TabularDataSupportinstance.
isEmpty
public boolean isEmpty()
Returns true if this TabularDataSupport instance contains no rows.
- Specified by:
-
isEmptyin interfaceMap<Object,Object> - Specified by:
-
isEmptyin interfaceTabularData - Returns:
-
trueif thisTabularDataSupportinstance contains no rows.
keySet
public Set<Object> keySet()
Returns a set view of the keys contained in the underlying map of this TabularDataSupport instance used to index the rows. Each key contained in this Set is an unmodifiable List<?> so the returned set view is a Set<List<?>> but is declared as a Set<Object> for compatibility reasons. The set is backed by the underlying map of this TabularDataSupport instance, so changes to the TabularDataSupport instance are reflected in the set, and vice-versa. The set supports element removal, which removes the corresponding row from this TabularDataSupport instance, via the Iterator.remove(), Set.remove(java.lang.Object), Set.removeAll(java.util.Collection<?>), Set.retainAll(java.util.Collection<?>), and Set.clear() operations. It does not support the Set.add(E) or Set.addAll(java.util.Collection<? extends E>) operations.
- Specified by:
-
keySetin interfaceMap<Object,Object> - Specified by:
-
keySetin interfaceTabularData - Returns:
- a set view (
Set<List<?>>) of the keys used to index the rows of thisTabularDataSupportinstance.
values
public Collection<Object> values()
Returns a collection view of the rows contained in this TabularDataSupport instance. The returned Collection is a Collection<CompositeData> but is declared as a Collection<Object> for compatibility reasons. The returned collection can be used to iterate over the values. The collection is backed by the underlying map, so changes to the TabularDataSupport instance are reflected in the collection, and vice-versa. The collection supports element removal, which removes the corresponding index to row mapping from this TabularDataSupport instance, via the Iterator.remove(), Collection.remove(java.lang.Object), Collection.removeAll(java.util.Collection<?>), Collection.retainAll(java.util.Collection<?>), and Collection.clear() operations. It does not support the Collection.add(E) or Collection.addAll(java.util.Collection<? extends E>) operations.
- Specified by:
-
valuesin interfaceMap<Object,Object> - Specified by:
-
valuesin interfaceTabularData - Returns:
- a collection view (
Collection<CompositeData>) of the values contained in thisTabularDataSupportinstance.
entrySet
public Set<Map.Entry<Object,Object>> entrySet()
Returns a collection view of the index to row mappings contained in this TabularDataSupport instance. Each element in the returned collection is a Map.Entry<List<?>,CompositeData> but is declared as a Map.Entry<Object,Object> for compatibility reasons. Each of the map entry keys is an unmodifiable List<?>. The collection is backed by the underlying map of this TabularDataSupport instance, so changes to the TabularDataSupport instance are reflected in the collection, and vice-versa. The collection supports element removal, which removes the corresponding mapping from the map, via the Iterator.remove(), Collection.remove(java.lang.Object), Collection.removeAll(java.util.Collection<?>), Collection.retainAll(java.util.Collection<?>), and Collection.clear() operations. It does not support the Collection.add(E) or Collection.addAll(java.util.Collection<? extends E>) operations.
IMPORTANT NOTICE: Do not use the setValue method of the Map.Entry elements contained in the returned collection view. Doing so would corrupt the index to row mappings contained in this TabularDataSupport instance.
- Specified by:
-
entrySetin interfaceMap<Object,Object> - Returns:
- a collection view (
Set<Map.Entry<List<?>,CompositeData>>) of the mappings contained in this map. - See Also:
Map.Entry
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.
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
TabularDatainterface, - their tabular types are equal
- their contents (ie all CompositeData values) are equal.
equals method works properly for obj parameters which are different implementations of the TabularData interface. - Specified by:
-
equalsin interfaceMap<Object,Object> - Specified by:
-
equalsin interfaceTabularData - Overrides:
-
equalsin classObject - Parameters:
-
obj- the object to be compared for equality with thisTabularDataSupportinstance; - Returns:
-
trueif the specified object is equal to thisTabularDataSupportinstance. - 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:
-
hashCodein interfaceMap<Object,Object> - Specified by:
-
hashCodein interfaceTabularData - Overrides:
-
hashCodein classObject - Returns:
- the hash code value for this
TabularDataSupportinstance - 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:
-
toStringin interfaceTabularData - Overrides:
-
toStringin classObject - Returns:
- a string representation of this
TabularDataSupportinstance
© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/java.management/javax/management/openmbean/TabularDataSupport.html