|
The Open Type of this element. In the case of {@code * MBeanAttributeInfo} and {@code MBeanParameterInfo}, this is the * Open Type of the attribute or parameter. In the case of {@code * MBeanOperationInfo}, it is the Open Type of the return value. This * field is set in the Descriptor for all instances of {@link * OpenMBeanAttributeInfoSupport}, {@link * OpenMBeanOperationInfoSupport}, and {@link * OpenMBeanParameterInfoSupport}. It is also set for attributes, * operations, and parameters of MXBeans.</p> * * <p>This field can be set for an {@code MBeanNotificationInfo}, in * which case it indicates the Open Type that the {@link * Notification#getUserData() user data} will have.</td> * * <tr id="originalType">
* <td>MBeanAttributeInfoThe original Java type of this element as it appeared in the
* {@link MXBean} interface method that produced this {@code
* MBeanAttributeInfo} (etc). For example, a method<br> public
* </code> {@link MemoryUsage}
getHeapMemoryUsage();
* in an MXBean interface defines an attribute called {@code
* HeapMemoryUsage} of type {@link CompositeData}. The {@code
* originalType} field in the Descriptor for this attribute will have
* the value {@code "java.lang.management.MemoryUsage"}.
*
* <p>The format of this string is described in the section of the MXBean
* specification.</p>
*
* <tr id="setExceptions">
* <td>MBeanAttributeInfo
*
* <td>The class names of the exceptions that can be thrown when setting
* an attribute. The meaning of this field
* is defined by this specification but the field is not set or used by the
* JMX API itself. Exceptions thrown when getting an attribute are specified
* by the field <a href="#exceptions">{@code exceptions}.
*
* <tr>
* <td>MBeanNotificationInfo
*
* <td>The severity of this notification. It can be 0 to mean
* unknown severity or a value from 1 to 6 representing decreasing
* levels of severity. It can be represented as a decimal string or
* an {@code Integer}.</td>
*
* <tr>
*
* <td>The version of the information model in which this element
* was introduced. A set of MBeans defined by an application is
* collectively called an <em>information model. The
* application may also define versions of this model, and use the
* {@code "since"} field to record the version in which an element
* first appeared.</td>
*
* <tr>
* <td>MBeanAttributeInfo
MBeanParameterInfo
MBeanOperationInfo
*
* <td>The units in which an attribute, parameter, or operation return
* value is measured, for example {@code "bytes"} or {@code
* "seconds"}.</td>
*
* </table>
*
* <p>Some additional fields are defined by Model MBeans. See the
* information for <a href="modelmbean/ModelMBeanInfo.html#descriptor">
Java example source code file (Descriptor.java)
The Descriptor.java Java example source code/* * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. Oracle designates this * particular file as subject to the "Classpath" exception as provided * by Oracle in the LICENSE file that accompanied this code. * * This code is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License * version 2 for more details (a copy is included in the LICENSE file that * accompanied this code). * * You should have received a copy of the GNU General Public License version * 2 along with this work; if not, write to the Free Software Foundation, * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA * or visit www.oracle.com if you need additional information or have any * questions. */ /* * @author IBM Corp. * * Copyright IBM Corp. 1999-2000. All rights reserved. */ package javax.management; import java.io.Serializable; // Javadoc imports: import java.lang.management.MemoryUsage; import java.util.Arrays; import java.util.Locale; import java.util.ResourceBundle; import javax.management.openmbean.CompositeData; import javax.management.openmbean.OpenMBeanAttributeInfoSupport; import javax.management.openmbean.OpenMBeanOperationInfoSupport; import javax.management.openmbean.OpenMBeanParameterInfoSupport; import javax.management.openmbean.OpenType; /** * <p>Additional metadata for a JMX element. A {@code Descriptor} * is associated with a {@link MBeanInfo}, {@link MBeanAttributeInfo}, etc. * It consists of a collection of fields. A field is a name and an * associated value.</p> * * <p>Field names are not case-sensitive. The names {@code descriptorType}, * {@code descriptortype}, and {@code DESCRIPTORTYPE} are all equivalent. * However, the case that was used when the field was first set is preserved * in the result of the {@link #getFields} and {@link #getFieldNames} * methods.</p> * * <p>Not all field names and values are predefined. * New fields can be defined and added by any program.</p> * * <p>A descriptor can be mutable or immutable. * An immutable descriptor, once created, never changes. * The <code>Descriptor methods that could modify the contents * of the descriptor will throw an exception * for an immutable descriptor. Immutable descriptors are usually * instances of {@link ImmutableDescriptor} or a subclass. Mutable * descriptors are usually instances of * {@link javax.management.modelmbean.DescriptorSupport} or a subclass. * * <p>Certain fields are used by the JMX implementation. This means * either that the presence of the field may change the behavior of * the JMX API or that the field may be set in descriptors returned by * the JMX API. These fields appear in <i>italics in the table * below, and each one has a corresponding constant in the {@link JMX} * class. For example, the field {@code defaultValue} is represented * by the constant {@link JMX#DEFAULT_VALUE_FIELD}.</p> * * <p>Certain other fields have conventional meanings described in the * table below but they are not required to be understood or set by * the JMX implementation.</p> * * <p>Field names defined by the JMX specification in this and all * future versions will never contain a period (.). Users can safely * create their own fields by including a period in the name and be * sure that these names will not collide with any future version of * the JMX API. It is recommended to follow the Java package naming * convention to avoid collisions between field names from different * origins. For example, a field created by {@code example.com} might * have the name {@code com.example.interestLevel}.</p> * * <p>Note that the values in the {@code defaultValue}, {@code * legalValues}, {@code maxValue}, and {@code minValue} fields should * be consistent with the type returned by the {@code getType()} * method for the associated {@code MBeanAttributeInfo} or {@code * MBeanParameterInfo}. For MXBeans, this means that they should be * of the mapped Java type, called <em>opendata(J) in the . * * <table border="1" cellpadding="5" summary="Descriptor Fields"> * * <tr> | Name | Type | Used in | Meaning | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
defaultValue | Object | deprecated | String | Any | descriptionResource * BundleBaseName</td> | String | Any | descriptionResourceKey | Any | enabled | String | exceptions | String[] | immutableInfo | String | infoTimeout | String Long | MBeanInfo | ||||||||
interfaceClassName | MBeanInfo | legalValues | MBeanAttributeInfo MBeanParameterInfo | locale | Any | maxValue | Object | metricType | String | minValue | Object | mxbean | String | openType | {@link OpenType} | originalType | String | setExceptions | String[] | severity | String Integer | since | String | Any | units | String |