public class CompositeType extends OpenType<CompositeData>
CompositeType class is the open type class
whose instances describe the types of CompositeData values.ALLOWED_CLASSNAMES, ALLOWED_CLASSNAMES_LIST| Constructor and Description |
|---|
CompositeType(String typeName,
String description,
String[] itemNames,
String[] itemDescriptions,
OpenType<?>[] itemTypes)
Constructs a
CompositeType instance, checking for the validity of the given parameters. |
| Modifier and Type | Method and Description |
|---|---|
boolean |
containsKey(String itemName)
Returns
true if this CompositeType instance defines an item
whose name is itemName. |
boolean |
equals(Object obj)
Compares the specified
obj parameter with this CompositeType instance for equality. |
String |
getDescription(String itemName)
Returns the description of the item whose name is itemName,
or
null if this CompositeType instance does not define any item
whose name is itemName. |
OpenType<?> |
getType(String itemName)
Returns the open type of the item whose name is itemName,
or
null if this CompositeType instance does not define any item
whose name is itemName. |
int |
hashCode()
Returns the hash code value for this
CompositeType instance. |
boolean |
isValue(Object obj)
Tests whether obj is a value which could be
described by this
CompositeType instance. |
Set<String> |
keySet()
Returns an unmodifiable Set view of all the item names defined by this
CompositeType instance. |
String |
toString()
Returns a string representation of this
CompositeType instance. |
getClassName, getDescription, getTypeName, isArraypublic CompositeType(String typeName, String description, String[] itemNames, String[] itemDescriptions, OpenType<?>[] itemTypes) throws OpenDataException
CompositeType instance, checking for the validity of the given parameters.
The validity constraints are described below for each parameter.
Note that the contents of the three array parameters
itemNames, itemDescriptions and itemTypes
are internally copied so that any subsequent modification of these arrays by the caller of this constructor
has no impact on the constructed CompositeType instance.
The Java class name of composite data values this composite type represents
(ie the class name returned by the getClassName method)
is set to the string value returned by CompositeData.class.getName().
typeName - The name given to the composite type this instance represents; cannot be a null or empty string.
description - The human readable description of the composite type this instance represents;
cannot be a null or empty string.
itemNames - The names of the items contained in the
composite data values described by this CompositeType instance;
cannot be null and should contain at least one element; no element can be a null or empty string.
Note that the order in which the item names are given is not important to differentiate a
CompositeType instance from another;
the item names are internally stored sorted in ascending alphanumeric order.
itemDescriptions - The descriptions, in the same order as itemNames, of the items contained in the
composite data values described by this CompositeType instance;
should be of the same size as itemNames;
no element can be null or an empty string.
itemTypes - The open type instances, in the same order as itemNames, describing the items contained
in the composite data values described by this CompositeType instance;
should be of the same size as itemNames;
no element can be null.
IllegalArgumentException - If typeName or description is a null or empty string,
or itemNames or itemDescriptions or itemTypes is null,
or any element of itemNames or itemDescriptions
is a null or empty string,
or any element of itemTypes is null,
or itemNames or itemDescriptions or itemTypes
are not of the same size.
OpenDataException - If itemNames contains duplicate item names
(case sensitive, but leading and trailing whitespaces removed).public boolean containsKey(String itemName)
true if this CompositeType instance defines an item
whose name is itemName.itemName - the name of the item.public String getDescription(String itemName)
null if this CompositeType instance does not define any item
whose name is itemName.itemName - the name of the item.public OpenType<?> getType(String itemName)
null if this CompositeType instance does not define any item
whose name is itemName.itemName - the name of the time.public Set<String> keySet()
CompositeType instance.
The set's iterator will return the item names in ascending order.public boolean isValue(Object obj)
CompositeType instance.
If obj is null or is not an instance of
javax.management.openmbean.CompositeData,
isValue returns false.
If obj is an instance of
javax.management.openmbean.CompositeData, then let
ct be its CompositeType as returned by CompositeData.getCompositeType(). The result is true if
this is assignable from ct. This
means that:
this.getTypeName() equals
ct.getTypeName(), and
this that are
not also present in ct, and
this, its type is assignable from
the type of the corresponding item in ct.
A TabularType is assignable from another TabularType if they have the same typeName and index name list, and the
row type of the first is
assignable from the row type of the second.
An ArrayType is assignable from another ArrayType if they have the same dimension; and both are primitive arrays or neither is;
and the element
type of the first is assignable from the element type of the
second.
In every other case, an OpenType is assignable from
another OpenType only if they are equal.
These rules mean that extra items can be added to a CompositeData without making it invalid for a CompositeType
that does not have those items.
isValue in class OpenType<CompositeData>obj - the value whose open type is to be tested for compatibility
with this CompositeType instance.true if obj is a value for this
composite type, false otherwise.public boolean equals(Object obj)
obj parameter with this CompositeType instance for equality.
Two CompositeType instances are equal if and only if all of the following statements are true:
equals in class OpenType<CompositeData>obj - the object to be compared for equality with this CompositeType instance;
if obj is null, equals returns false.true if the specified object is equal to this CompositeType instance.Object.hashCode(),
HashMappublic int hashCode()
CompositeType instance.
The hash code of a CompositeType instance is the sum of the hash codes
of all elements of information used in equals comparisons
(ie: name, items names, items types).
This ensures that t1.equals(t2) implies that t1.hashCode()==t2.hashCode()
for any two CompositeType instances t1 and t2,
as required by the general contract of the method
Object.hashCode().
As CompositeType instances are immutable, the hash code for this instance is calculated once,
on the first call to hashCode, and then the same value is returned for subsequent calls.
hashCode in class OpenType<CompositeData>CompositeType instanceObject.equals(java.lang.Object),
System.identityHashCode(java.lang.Object)public String toString()
CompositeType instance.
The string representation consists of
the name of this class (ie javax.management.openmbean.CompositeType), the type name for this instance,
and the list of the items names and types string representation of this instance.
As CompositeType instances are immutable, the string representation for this instance is calculated once,
on the first call to toString, and then the same value is returned for subsequent calls.
toString in class OpenType<CompositeData>CompositeType 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, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.