- java.lang.Object
-
- javax.management.openmbean.OpenType<TabularData>
-
- javax.management.openmbean.TabularType
-
- All Implemented Interfaces:
Serializable
public class TabularType extends OpenType<TabularData>
TheTabularType
class is the open type class whose instances describe the types ofTabularData
values.- Since:
- 1.5
- See Also:
- Serialized Form
-
-
Field Summary
-
Fields declared in class javax.management.openmbean.OpenType
ALLOWED_CLASSNAMES, ALLOWED_CLASSNAMES_LIST
-
-
Constructor Summary
Constructors Constructor Description TabularType(String typeName, String description, CompositeType rowType, String[] indexNames)
Constructs aTabularType
instance, checking for the validity of the given parameters.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(Object obj)
Compares the specifiedobj
parameter with thisTabularType
instance for equality.List<String>
getIndexNames()
Returns, in the same order as was given to this instance's constructor, an unmodifiable List of the names of the items the values of which are used to uniquely index each row element of tabular data values described by thisTabularType
instance.CompositeType
getRowType()
Returns the type of the row elements of tabular data values described by thisTabularType
instance.int
hashCode()
Returns the hash code value for thisTabularType
instance.boolean
isValue(Object obj)
Tests whether obj is a value which could be described by thisTabularType
instance.String
toString()
Returns a string representation of thisTabularType
instance.-
Methods declared in class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods declared in class javax.management.openmbean.OpenType
getClassName, getDescription, getTypeName, isArray
-
-
-
-
Constructor Detail
-
TabularType
public TabularType(String typeName, String description, CompositeType rowType, String[] indexNames) throws OpenDataException
Constructs aTabularType
instance, checking for the validity of the given parameters. The validity constraints are described below for each parameter.The Java class name of tabular data values this tabular type represents (ie the class name returned by the
getClassName
method) is set to the string value returned byTabularData.class.getName()
.- Parameters:
typeName
- The name given to the tabular type this instance represents; cannot be a null or empty string.
description
- The human readable description of the tabular type this instance represents; cannot be a null or empty string.
rowType
- The type of the row elements of tabular data values described by this tabular type instance; cannot be null.
indexNames
- The names of the items the values of which are used to uniquely index each row element in the tabular data values described by this tabular type instance; cannot be null or empty. Each element should be an item name defined in rowType (no null or empty string allowed). It is important to note that the order of the item names in indexNames is used by the methodsget
andremove
of classTabularData
to match their array of values parameter to items.
- Throws:
IllegalArgumentException
- if rowType is null, or indexNames is a null or empty array, or an element in indexNames is a null or empty string, or typeName or description is a null or empty string.
OpenDataException
- if an element's value of indexNames is not an item name defined in rowType.
-
-
Method Detail
-
getRowType
public CompositeType getRowType()
Returns the type of the row elements of tabular data values described by thisTabularType
instance.- Returns:
- the type of each row.
-
getIndexNames
public List<String> getIndexNames()
Returns, in the same order as was given to this instance's constructor, an unmodifiable List of the names of the items the values of which are used to uniquely index each row element of tabular data values described by this
TabularType
instance.- Returns:
- a List of String representing the names of the index items.
-
isValue
public boolean isValue(Object obj)
Tests whether obj is a value which could be described by thisTabularType
instance.If obj is null or is not an instance of
javax.management.openmbean.TabularData
,isValue
returnsfalse
.If obj is an instance of
javax.management.openmbean.TabularData
, saytd
, the result is true if thisTabularType
is assignable fromtd.getTabularType()
, as defined inCompositeType.isValue
.- Specified by:
isValue
in classOpenType<TabularData>
- Parameters:
obj
- the value whose open type is to be tested for compatibility with thisTabularType
instance.- Returns:
true
if obj is a value for this tabular type,false
otherwise.
-
equals
public boolean equals(Object obj)
Compares the specifiedobj
parameter with thisTabularType
instance for equality.Two
TabularType
instances are equal if and only if all of the following statements are true:- their type names are equal
- their row types are equal
- they use the same index names, in the same order
- Specified by:
equals
in classOpenType<TabularData>
- Parameters:
obj
- the object to be compared for equality with thisTabularType
instance; if obj isnull
,equals
returnsfalse
.- Returns:
true
if the specified object is equal to thisTabularType
instance.- See Also:
Object.hashCode()
,HashMap
-
hashCode
public int hashCode()
Returns the hash code value for thisTabularType
instance.The hash code of a
TabularType
instance is the sum of the hash codes of all elements of information used inequals
comparisons (ie: name, row type, index names). This ensures thatt1.equals(t2)
implies thatt1.hashCode()==t2.hashCode()
for any twoTabularType
instancest1
andt2
, as required by the general contract of the methodObject.hashCode()
.As
TabularType
instances are immutable, the hash code for this instance is calculated once, on the first call tohashCode
, and then the same value is returned for subsequent calls.- Overrides:
hashCode
in classObject
- Returns:
- the hash code value for this
TabularType
instance - See Also:
Object.equals(java.lang.Object)
,System.identityHashCode(java.lang.Object)
-
toString
public String toString()
Returns a string representation of thisTabularType
instance.The string representation consists of the name of this class (ie
javax.management.openmbean.TabularType
), the type name for this instance, the row type string representation of this instance, and the index names of this instance.As
TabularType
instances are immutable, the string representation for this instance is calculated once, on the first call totoString
, and then the same value is returned for subsequent calls.- Specified by:
toString
in classOpenType<TabularData>
- Returns:
- a string representation of this
TabularType
instance
-
-