public class CompositeDataSupport extends Object implements CompositeData, Serializable
Constructor and Description |
---|
CompositeDataSupport(CompositeType compositeType,
Map<String,?> items)
Constructs a CompositeDataSupport instance with the specified compositeType, whose item names and corresponding values
are given by the mappings in the map items.
|
CompositeDataSupport(CompositeType compositeType,
String[] itemNames,
Object[] itemValues)
Constructs a CompositeDataSupport instance with the specified
compositeType, whose item values
are specified by itemValues[], in the same order as in
itemNames[].
|
Modifier and Type | Method and Description |
---|---|
boolean |
containsKey(String key)
Returns true if and only if this CompositeData instance contains
an item whose name is key.
|
boolean |
containsValue(Object value)
Returns true if and only if this CompositeData instance
contains an item
whose value is value.
|
boolean |
equals(Object obj)
Compares the specified obj parameter with this
CompositeDataSupport instance for equality. |
Object |
get(String key)
Returns the value of the item whose name is key.
|
Object[] |
getAll(String[] keys)
Returns an array of the values of the items whose names are specified by
keys, in the same order as keys.
|
CompositeType |
getCompositeType()
Returns the composite type of this composite data instance.
|
int |
hashCode()
Returns the hash code value for this
CompositeDataSupport instance. |
String |
toString()
Returns a string representation of this
CompositeDataSupport instance. |
Collection<?> |
values()
Returns an unmodifiable Collection view of the item values contained in this
CompositeData instance.
|
public CompositeDataSupport(CompositeType compositeType, String[] itemNames, Object[] itemValues) throws OpenDataException
Constructs a CompositeDataSupport instance with the specified compositeType, whose item values are specified by itemValues[], in the same order as in itemNames[]. As a CompositeType does not specify any order on its items, the itemNames[] parameter is used to specify the order in which the values are given in itemValues[]. The items contained in this CompositeDataSupport instance are internally stored in a TreeMap, thus sorted in ascending lexicographic order of their names, for faster retrieval of individual item values.
The constructor checks that all the constraints listed below for each parameter are satisfied, and throws the appropriate exception if they are not.
compositeType
- the composite type of this composite
data instance; must not be null.itemNames
- itemNames must list, in any order, all the
item names defined in compositeType; the order in which the
names are listed, is used to match values in itemValues[]; must
not be null or empty.itemValues
- the values of the items, listed in the same order as
their respective names in itemNames; each item value can be
null, but if it is non-null it must be a valid value for the open type
defined in compositeType for the corresponding item; must be of
the same size as itemNames; must not be null or empty.IllegalArgumentException
- compositeType is null, or
itemNames[] or itemValues[] is null or empty, or one
of the elements in itemNames[] is a null or empty string, or
itemNames[] and itemValues[] are not of the same size.OpenDataException
- itemNames[] or
itemValues[]'s size differs from the number of items defined in
compositeType, or one of the elements in itemNames[]
does not exist as an item name defined in compositeType, or one
of the elements in itemValues[] is not a valid value for the
corresponding item as defined in compositeType.public CompositeDataSupport(CompositeType compositeType, Map<String,?> items) throws OpenDataException
Constructs a CompositeDataSupport instance with the specified compositeType, whose item names and corresponding values are given by the mappings in the map items. This constructor converts the keys to a string array and the values to an object array and calls CompositeDataSupport(javax.management.openmbean.CompositeType, java.lang.String[], java.lang.Object[]).
compositeType
- the composite type of this composite data instance;
must not be null.items
- the mappings of all the item names to their values;
items must contain all the item names defined in compositeType;
must not be null or empty.IllegalArgumentException
- compositeType is null, or
items is null or empty, or one of the keys in items is a null
or empty string.OpenDataException
- items' size differs from the
number of items defined in compositeType, or one of the
keys in items does not exist as an item name defined in
compositeType, or one of the values in items
is not a valid value for the corresponding item as defined in
compositeType.ArrayStoreException
- one or more keys in items is not of
the class java.lang.String.public CompositeType getCompositeType()
getCompositeType
in interface CompositeData
public Object get(String key)
get
in interface CompositeData
key
- the name of the item.IllegalArgumentException
- if key is a null or empty String.InvalidKeyException
- if key is not an existing item name for
this CompositeData instance.public Object[] getAll(String[] keys)
getAll
in interface CompositeData
keys
- the names of the items.IllegalArgumentException
- if an element in keys is a null
or empty String.InvalidKeyException
- if an element in keys is not an existing
item name for this CompositeData instance.public boolean containsKey(String key)
containsKey
in interface CompositeData
key
- the key to be tested.public boolean containsValue(Object value)
containsValue
in interface CompositeData
value
- the value to be tested.public Collection<?> values()
values
in interface CompositeData
public boolean equals(Object obj)
CompositeDataSupport
instance for equality.
Returns true if and only if all of the following statements are true:
CompositeData
interface,deepEquals
method
for arrays of object reference types or the appropriate overloading of
Arrays.equals(e1,e2)
for arrays of primitive types
This ensures that this equals method works properly for
obj parameters which are different implementations of the
CompositeData
interface, with the restrictions mentioned in the
equals
method of the java.util.Collection interface.
equals
in interface CompositeData
equals
in class Object
obj
- the object to be compared for equality with this
CompositeDataSupport
instance.true
if the specified object is equal to this
CompositeDataSupport
instance.Object.hashCode()
,
HashMap
public int hashCode()
CompositeDataSupport
instance.
The hash code of a CompositeDataSupport
instance is the sum of the hash codes
of all elements of information used in equals
comparisons
(ie: its composite type and all the item values).
This ensures that t1.equals(t2)
implies that t1.hashCode()==t2.hashCode()
for any two CompositeDataSupport
instances t1
and t2
,
as required by the general contract of the method
Object.hashCode()
.
Each item value's hash code is added to the returned hash code.
If an item value is an array,
its hash code is obtained as if by calling the
deepHashCode
method
for arrays of object reference types or the appropriate overloading
of Arrays.hashCode(e)
for arrays of primitive types.
hashCode
in interface CompositeData
hashCode
in class Object
CompositeDataSupport
instanceObject.equals(java.lang.Object)
,
System.identityHashCode(java.lang.Object)
public String toString()
CompositeDataSupport
instance.
The string representation consists of the name of this class (ie javax.management.openmbean.CompositeDataSupport
),
the string representation of the composite type of this instance, and the string representation of the contents
(ie list the itemName=itemValue mappings).
toString
in interface CompositeData
toString
in class Object
CompositeDataSupport
instance Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2011, Oracle and/or its affiliates. All rights reserved.
DRAFT ea-b138