This documentation differs from the official API. Jadeite adds extra features to the API including: variable font sizes, constructions examples, placeholders for classes and methods, and auto-generated “See Also” links. Additionally it is missing some items found in standard Javadoc documentation, including: generics type information, “Deprecated” tags and comments, “See Also” links, along with other minor differences. Please send any questions or feedback to bam@cs.cmu.edu.


javax.management.openmbean
class ArrayType

java.lang.Object extended by javax.management.openmbean.OpenType extended by javax.management.openmbean.ArrayType
All Implemented Interfaces:
Serializable

Most common ways to construct:

ArrayType a17 = …;

ArrayType a18 = new ArrayType(1, a17);

Based on 34 examples

 

ArrayType a10 = …;

ArrayType a11 = ArrayType.getArrayType(a10);

Based on 30 examples


public class ArrayType
extends OpenType

The ArrayType class is the open type class whose instances describe all open data values which are n-dimensional arrays of open data values.

Examples of valid {@code ArrayType} instances are:

 // 2-dimension array of java.lang.String
 ArrayType a1 = new ArrayType(2, SimpleType.STRING);

 // 1-dimension array of int
 ArrayType a2 = new ArrayType(SimpleType.INTEGER, true);

 // 1-dimension array of java.lang.Integer
 ArrayType a3 = new ArrayType(SimpleType.INTEGER, false);

 // 4-dimension array of int
 ArrayType a4 = new ArrayType(3, a2);

 // 4-dimension array of java.lang.Integer
 ArrayType a5 = new ArrayType(3, a3);

 // 1-dimension array of java.lang.String
 ArrayType a6 = new ArrayType(SimpleType.STRING, false);

 // 1-dimension array of long
 ArrayType a7 = new ArrayType(SimpleType.LONG, true);

 // 1-dimension array of java.lang.Integer
 ArrayType a8 = ArrayType.getArrayType(SimpleType.INTEGER);

 // 2-dimension array of java.lang.Integer
 ArrayType a9 = ArrayType.getArrayType(a8);

 // 2-dimension array of int
 ArrayType a10 = ArrayType.getPrimitiveArrayType(int[][].class);

 // 3-dimension array of int
 ArrayType a11 = ArrayType.getArrayType(a10);

 // 1-dimension array of float
 ArrayType a12 = ArrayType.getPrimitiveArrayType(float[].class);

 // 2-dimension array of float
 ArrayType a13 = ArrayType.getArrayType(a12);

 // 1-dimension array of javax.management.ObjectName
 ArrayType a14 = ArrayType.getArrayType(SimpleType.OBJECTNAME);

 // 2-dimension array of javax.management.ObjectName
 ArrayType a15 = ArrayType.getArrayType(a14);

 // 3-dimension array of java.lang.String
 ArrayType a16 = new ArrayType(3, SimpleType.STRING);

 // 1-dimension array of java.lang.String
 ArrayType a17 = new ArrayType(1, SimpleType.STRING);

 // 2-dimension array of java.lang.String
 ArrayType a18 = new ArrayType(1, a17);

 // 3-dimension array of java.lang.String
 ArrayType a19 = new ArrayType(1, a18);
 


Field Summary
 
Fields inherited from class javax.management.openmbean.OpenType
ALLOWED_CLASSNAMES, ALLOWED_CLASSNAMES_LIST
 
Constructor Summary
ArrayType(int dimension, OpenType elementType)

          Constructs an ArrayType instance describing open data values which are arrays with dimension dimension of elements whose open type is elementType.
ArrayType(SimpleType elementType, boolean primitiveArray)

          Constructs a unidimensional instance for the supplied .
 
Method Summary
 boolean

          Compares the specified obj parameter with this ArrayType instance for equality.
static ArrayType
getArrayType(OpenType elementType)

          Create an instance in a type-safe manner.
 int

          Returns the dimension of arrays described by this ArrayType instance.
 OpenType

          Returns the open type of element values contained in the arrays described by this ArrayType instance.
static ArrayType

          Create an instance in a type-safe manner.
 int

          Returns the hash code value for this ArrayType instance.
 boolean

          Returns true if the open data values this open type describes are primitive arrays, false otherwise.
 boolean

          Tests whether obj is a value for this ArrayType instance.
 String

          Returns a string representation of this ArrayType instance.
 
Methods inherited from class javax.management.openmbean.OpenType
equals, getClassName, getDescription, getTypeName, hashCode, isArray, isValue, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ArrayType

public ArrayType(int dimension,
                 OpenType elementType)
          throws OpenDataException
Constructs an ArrayType instance describing open data values which are arrays with dimension dimension of elements whose open type is elementType.

When invoked on an ArrayType instance, the {@link OpenType#getClassName() getClassName} method returns the class name of the array instances it describes (following the rules defined by the {@link Class#getName() getName} method of java.lang.Class), not the class name of the array elements (which is returned by a call to getElementOpenType().getClassName()).

The internal field corresponding to the type name of this ArrayType instance is also set to the class name of the array instances it describes. In other words, the methods getClassName and getTypeName return the same string value. The internal field corresponding to the description of this ArrayType instance is set to a string value which follows the following template:

As an example, the following piece of code:

 ArrayType t = new ArrayType(3, SimpleType.STRING);
 System.out.println("array class name       = " + t.getClassName());
 System.out.println("element class name     = " + t.getElementOpenType().getClassName());
 System.out.println("array type name        = " + t.getTypeName());
 System.out.println("array type description = " + t.getDescription());
 
would produce the following output:
 array class name       = [[[Ljava.lang.String;
 element class name     = java.lang.String
 array type name        = [[[Ljava.lang.String;
 array type description = 3-dimension array of java.lang.String
 
And the following piece of code which is equivalent to the one listed above would also produce the same output:
 ArrayType t1 = new ArrayType(1, SimpleType.STRING);
 ArrayType t2 = new ArrayType(1, t1);
 ArrayType t3 = new ArrayType(1, t2);
 System.out.println("array class name       = " + t3.getClassName());
 System.out.println("element class name     = " + t3.getElementOpenType().getClassName());
 System.out.println("array type name        = " + t3.getTypeName());
 System.out.println("array type description = " + t3.getDescription());
 

Parameters:
dimension - the dimension of arrays described by this ArrayType instance; must be greater than or equal to 1.
elementType - the open type of element values contained in the arrays described by this ArrayType instance; must be an instance of either SimpleType, CompositeType, TabularType or another ArrayType with a SimpleType, CompositeType or TabularType as its elementType.
Throws:
OpenDataException - if elementType's className is not one of the allowed Java class names for open data.

ArrayType

public ArrayType(SimpleType elementType,
                 boolean primitiveArray)
          throws OpenDataException
Constructs a unidimensional {@code ArrayType} instance for the supplied {@code SimpleType}.

This constructor supports the creation of arrays of primitive types when {@code primitiveArray} is {@code true}.

For primitive arrays the {@link #getElementOpenType()} method returns the {@link SimpleType} corresponding to the wrapper type of the primitive type of the array.

When invoked on an ArrayType instance, the {@link OpenType#getClassName() getClassName} method returns the class name of the array instances it describes (following the rules defined by the {@link Class#getName() getName} method of java.lang.Class), not the class name of the array elements (which is returned by a call to getElementOpenType().getClassName()).

The internal field corresponding to the type name of this ArrayType instance is also set to the class name of the array instances it describes. In other words, the methods getClassName and getTypeName return the same string value. The internal field corresponding to the description of this ArrayType instance is set to a string value which follows the following template:

As an example, the following piece of code:

 ArrayType t = new ArrayType(SimpleType.INTEGER, true);
 System.out.println("array class name       = " + t.getClassName());
 System.out.println("element class name     = " + t.getElementOpenType().getClassName());
 System.out.println("array type name        = " + t.getTypeName());
 System.out.println("array type description = " + t.getDescription());
 
would produce the following output:
 array class name       = [I
 element class name     = java.lang.Integer
 array type name        = [I
 array type description = 1-dimension array of int
 

Parameters:
elementType - the {@code SimpleType} of the element values contained in the arrays described by this {@code ArrayType} instance.
primitiveArray - {@code true} when this array describes primitive arrays.
Throws:
OpenDataException - if {@code primitiveArray} is {@code true} and {@code elementType} is not a valid {@code SimpleType} for a primitive type.
Method Detail

equals

public boolean equals(Object obj)
Compares the specified obj parameter with this ArrayType instance for equality.

Two ArrayType instances are equal if and only if they describe array instances which have the same dimension, elements' open type and primitive array flag.

Overrides:
equals in class OpenType
Parameters:
obj - the object to be compared for equality with this ArrayType instance; if obj is null or is not an instance of the class ArrayType this method returns false.
Returns:
true if the specified object is equal to this ArrayType instance.

getArrayType

public static ArrayType getArrayType(OpenType elementType)
                              throws OpenDataException
Create an {@code ArrayType} instance in a type-safe manner.

Multidimensional arrays can be built up by calling this method as many times as necessary.

Calling this method twice with the same parameters may return the same object or two equal but not identical objects.

As an example, the following piece of code:

 ArrayType t1 = ArrayType.getArrayType(SimpleType.STRING);
 ArrayType t2 = ArrayType.getArrayType(t1);
 ArrayType t3 = ArrayType.getArrayType(t2);
 System.out.println("array class name       = " + t3.getClassName());
 System.out.println("element class name     = " + t3.getElementOpenType().getClassName());
 System.out.println("array type name        = " + t3.getTypeName());
 System.out.println("array type description = " + t3.getDescription());
 
would produce the following output:
 array class name       = [[[Ljava.lang.String;
 element class name     = java.lang.String
 array type name        = [[[Ljava.lang.String;
 array type description = 3-dimension array of java.lang.String
 

Parameters:
elementType - the open type of element values contained in the arrays described by this ArrayType instance; must be an instance of either SimpleType, CompositeType, TabularType or another ArrayType with a SimpleType, CompositeType or TabularType as its elementType.
Throws:
OpenDataException - if elementType's className is not one of the allowed Java class names for open data.

getDimension

public int getDimension()
Returns the dimension of arrays described by this ArrayType instance.

Returns:
the dimension.

getElementOpenType

public OpenType getElementOpenType()
Returns the open type of element values contained in the arrays described by this ArrayType instance.

Returns:
the element type.

getPrimitiveArrayType

public static ArrayType getPrimitiveArrayType(Class arrayClass)
Create an {@code ArrayType} instance in a type-safe manner.

Calling this method twice with the same parameters may return the same object or two equal but not identical objects.

As an example, the following piece of code:

 ArrayType t = ArrayType.getPrimitiveArrayType(int[][][].class);
 System.out.println("array class name       = " + t.getClassName());
 System.out.println("element class name     = " + t.getElementOpenType().getClassName());
 System.out.println("array type name        = " + t.getTypeName());
 System.out.println("array type description = " + t.getDescription());
 
would produce the following output:
 array class name       = [[[I
 element class name     = java.lang.Integer
 array type name        = [[[I
 array type description = 3-dimension array of int
 

Parameters:
arrayClass - a primitive array class such as {@code int[].class}, {@code boolean[][].class}, etc. The {@link #getElementOpenType()} method of the returned {@code ArrayType} returns the {@link SimpleType} corresponding to the wrapper type of the primitive type of the array.

hashCode

public int hashCode()
Returns the hash code value for this ArrayType instance.

The hash code of an ArrayType instance is the sum of the hash codes of all the elements of information used in equals comparisons (i.e. dimension, elements' open type and primitive array flag). The hashcode for a primitive value is the hashcode of the corresponding boxed object (e.g. the hashcode for true is Boolean.TRUE.hashCode()). This ensures that t1.equals(t2) implies that t1.hashCode()==t2.hashCode() for any two ArrayType instances t1 and t2, as required by the general contract of the method {@link Object#hashCode() Object.hashCode()}.

As ArrayType 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.

Overrides:
hashCode in class OpenType
Returns:
the hash code value for this ArrayType instance

isPrimitiveArray

public boolean isPrimitiveArray()
Returns true if the open data values this open type describes are primitive arrays, false otherwise.

Returns:
true if this is a primitive array type.

isValue

public boolean isValue(Object obj)
Tests whether obj is a value for this ArrayType instance.

This method returns true if and only if obj is not null, obj is an array and any one of the following is true:

Overrides:
isValue in class OpenType
Parameters:
obj - the object to be tested.
Returns:
true if obj is a value for this ArrayType instance.

toString

public String toString()
Returns a string representation of this ArrayType instance.

The string representation consists of the name of this class (i.e. javax.management.openmbean.ArrayType), the type name, the dimension, the elements' open type and the primitive array flag defined for this instance.

As ArrayType 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.

Overrides:
toString in class OpenType
Returns:
a string representation of this ArrayType instance


This documentation differs from the official API. Jadeite adds extra features to the API including: variable font sizes, constructions examples, placeholders for classes and methods, and auto-generated “See Also” links. Additionally it is missing some items found in standard Javadoc documentation, including: generics type information, “Deprecated” tags and comments, “See Also” links, along with other minor differences. Please send any questions or feedback to bam@cs.cmu.edu.
This page displays the Jadeite version of the documention, which is derived from the offical documentation that contains this copyright notice:
Copyright 2008 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.
The official Sun™ documentation can be found here at http://java.sun.com/javase/6/docs/api/.