javax.management.openmbean
public class CompositeType extends OpenType<CompositeData>
Since: 1.5
Constructor Summary | |
---|---|
CompositeType(String name, String desc, String[] names, String[] descs, OpenType<?>[] types) Constructs a new {@link CompositeType} instance for the given type name with the specified field names, descriptions and types. |
Method Summary | |
---|---|
boolean | containsKey(String name)
Returns true if this composite data type has a field
with the given name.
|
boolean | equals(Object obj) Compares this composite data type with another object for equality. |
String | getDescription(String name)
Returns the description for the given field name,
or null if the field name does not
exist within this composite data type.
|
OpenType<?> | getType(String name)
Returns the type for the given field name,
or null if the field name does not
exist within this composite data type.
|
int | hashCode() Returns the hash code of the composite data type. |
boolean | isValue(Object obj)
Returns true if the specified object is a member of this
composite type. |
Set<String> | keySet()
Returns an unmodifiable {@link java.util.Set}-based
view of the field names that form part of this
{@link CompositeType} instance. |
String | toString() Returns a textual representation of this instance. |
Constructs a new {@link CompositeType} instance for the given type name with the specified field names, descriptions and types. All parameters, and the elements of the array parameters, must be non-null and {@link java.lang.String} values must be something other than the empty string. The arrays must be non-empty, and be of equal size.
The result of CompositeData.class.getName()
is adopted
as the class name (see {@link OpenType}) and changes to the array
elements following construction of the {@link CompositeType} instance
will not affect the values used by the instance.
The field names are sorted in to ascending alphanumeric order internally,
and so ordering can not be used to differentiate between two instances.
Parameters: name the name of this composite type. desc a description of this composite type. names the names of each field within the composite type. descs the descriptions of each field within the composite type. types the types of each field within the composite type.
Throws: IllegalArgumentException if any validity constraint listed above is broken. OpenDataException if duplicate item names are provided. Item names are case-sensitive, but whitespace is removed before comparison.
Parameters: name the name of the field to check for.
Returns: true if a field of that name exists.
Compares this composite data type with another object for equality. The objects are judged to be equal if:
obj
is not null.obj
is an instance of
{@link CompositeType}.Parameters: obj the object to compare with.
Returns: true if the conditions above hold.
null
if the field name does not
exist within this composite data type.
Parameters: name the name of the field whose description should be returned.
Returns: the description, or null
if the
field doesn't exist.
null
if the field name does not
exist within this composite data type.
Parameters: name the name of the field whose type should be returned.
Returns: the type, or null
if the
field doesn't exist.
Returns the hash code of the composite data type. This is computed as the sum of the hash codes of each field name and its type, together with the hash code of the type name. These are the same elements of the type that are compared as part of the {@link #equals(java.lang.Object)} method, thus ensuring that the hashcode is compatible with the equality test.
As instances of this class are immutable, the hash code is computed just once for each instance and reused throughout its life.
Returns: the hash code of this instance.
Parameters: obj the object to test for membership.
Returns: true if the object is a member of this type.
Returns: a unmodifiable set containing the field name {@link java.lang.String}s.
Returns a textual representation of this instance. This
is constructed using the class name
(javax.management.openmbean.CompositeType
)
and each element of the instance which is relevant to
the definition of {@link equals(java.lang.Object)} and
{@link hashCode()} (i.e. the type name, and the name
and type of each field).
As instances of this class are immutable, the return value is computed just once for each instance and reused throughout its life.
Returns: a @link{java.lang.String} instance representing the instance in textual form.