76 * or take a {@code String[]} parameter for operations that support at least
77 * one option or argument.
78 * Each option or argument must be stored in a single String.
79 * Options or arguments split across several String instances are not supported.
80 *
81 * <p>The distinction between options and arguments: options are identified by
82 * the option name while arguments are identified by their position in the
83 * command line. Options and arguments are processed in the order of the array
84 * passed to the invocation method.
85 *
86 * <p>Like any operation of a dynamic MBean, each of these operations is
87 * described by {@link javax.management.MBeanOperationInfo MBeanOperationInfo}
88 * instance. Here's the values returned by this object:
89 * <ul>
90 * <li>{@link javax.management.MBeanOperationInfo#getName() getName()}
91 * returns the operation name generated from the diagnostic command name</li>
92 * <li>{@link javax.management.MBeanOperationInfo#getDescription() getDescription()}
93 * returns the diagnostic command description
94 * (the same as the one return in the 'help' command)</li>
95 * <li>{@link javax.management.MBeanOperationInfo#getImpact() getImpact()}
96 * returns <code>ACTION_INFO</code></li>
97 * <li>{@link javax.management.MBeanOperationInfo#getReturnType() getReturnType()}
98 * returns {@code java.lang.String}</li>
99 * <li>{@link javax.management.MBeanOperationInfo#getDescriptor() getDescriptor()}
100 * returns a Descriptor instance (see below)</li>
101 * </ul>
102 *
103 * <p>The {@link javax.management.Descriptor Descriptor}
104 * is a collection of fields containing additional
105 * meta-data for a JMX element. A field is a name and an associated value.
106 * The additional meta-data provided for an operation associated with a
107 * diagnostic command are described in the table below:
108 * <p>
109 *
110 * <table border="1" cellpadding="5">
111 * <tr>
112 * <th>Name</th><th>Type</th><th>Description</th>
113 * </tr>
114 * <tr>
115 * <td>dcmd.name</td><td>String</td>
116 * <td>The original diagnostic command name (not the operation name)</td>
117 * </tr>
118 * <tr>
119 * <td>dcmd.description</td><td>String</td>
120 * <td>The diagnostic command description</td>
121 * </tr>
122 * <tr>
123 * <td>dcmd.help</td><td>String</td>
124 * <td>The full help message for this diagnostic command (same output as
125 * the one produced by the 'help' command)</td>
126 * </tr>
127 * <tr>
128 * <td>dcmd.vmImpact</td><td>String</td>
144 * </td>
145 * </tr>
146 * <tr>
147 * <td>dcmd.permissionName</td><td>String</td>
148 * <td>The fist argument of the permission required to execute this
149 * diagnostic command or null if no permission is required</td>
150 * </tr>
151 * <tr>
152 * <td>dcmd.permissionAction</td><td>String</td>
153 * <td>The second argument of the permission required to execute this
154 * diagnostic command or null if the permission constructor has only
155 * one argument (like the ManagementPermission) or if no permission
156 * is required</td>
157 * </tr>
158 * <tr>
159 * <td>dcmd.arguments</td><td>Descriptor</td>
160 * <td>A Descriptor instance containing the descriptions of options and
161 * arguments supported by the diagnostic command (see below)</td>
162 * </tr>
163 * </table>
164 * <p>
165 *
166 * <p>The description of parameters (options or arguments) of a diagnostic
167 * command is provided within a Descriptor instance. In this Descriptor,
168 * each field name is a parameter name, and each field value is itself
169 * a Descriptor instance. The fields provided in this second Descriptor
170 * instance are described in the table below:
171 *
172 * <table border="1" cellpadding="5">
173 * <tr>
174 * <th>Name</th><th>Type</th><th>Description</th>
175 * </tr>
176 * <tr>
177 * <td>dcmd.arg.name</td><td>String</td>
178 * <td>The name of the parameter</td>
179 * </tr>
180 * <tr>
181 * <td>dcmd.arg.type</td><td>String</td>
182 * <td>The type of the parameter. The returned String is the name of a type
183 * recognized by the diagnostic command parser. These types are not
184 * Java types and are implementation dependent.
|
76 * or take a {@code String[]} parameter for operations that support at least
77 * one option or argument.
78 * Each option or argument must be stored in a single String.
79 * Options or arguments split across several String instances are not supported.
80 *
81 * <p>The distinction between options and arguments: options are identified by
82 * the option name while arguments are identified by their position in the
83 * command line. Options and arguments are processed in the order of the array
84 * passed to the invocation method.
85 *
86 * <p>Like any operation of a dynamic MBean, each of these operations is
87 * described by {@link javax.management.MBeanOperationInfo MBeanOperationInfo}
88 * instance. Here's the values returned by this object:
89 * <ul>
90 * <li>{@link javax.management.MBeanOperationInfo#getName() getName()}
91 * returns the operation name generated from the diagnostic command name</li>
92 * <li>{@link javax.management.MBeanOperationInfo#getDescription() getDescription()}
93 * returns the diagnostic command description
94 * (the same as the one return in the 'help' command)</li>
95 * <li>{@link javax.management.MBeanOperationInfo#getImpact() getImpact()}
96 * returns {@code ACTION_INFO}</li>
97 * <li>{@link javax.management.MBeanOperationInfo#getReturnType() getReturnType()}
98 * returns {@code java.lang.String}</li>
99 * <li>{@link javax.management.MBeanOperationInfo#getDescriptor() getDescriptor()}
100 * returns a Descriptor instance (see below)</li>
101 * </ul>
102 *
103 * <p>The {@link javax.management.Descriptor Descriptor}
104 * is a collection of fields containing additional
105 * meta-data for a JMX element. A field is a name and an associated value.
106 * The additional meta-data provided for an operation associated with a
107 * diagnostic command are described in the table below:
108 *
109 * <table border="1" cellpadding="5">
110 * <tr>
111 * <th>Name</th><th>Type</th><th>Description</th>
112 * </tr>
113 * <tr>
114 * <td>dcmd.name</td><td>String</td>
115 * <td>The original diagnostic command name (not the operation name)</td>
116 * </tr>
117 * <tr>
118 * <td>dcmd.description</td><td>String</td>
119 * <td>The diagnostic command description</td>
120 * </tr>
121 * <tr>
122 * <td>dcmd.help</td><td>String</td>
123 * <td>The full help message for this diagnostic command (same output as
124 * the one produced by the 'help' command)</td>
125 * </tr>
126 * <tr>
127 * <td>dcmd.vmImpact</td><td>String</td>
143 * </td>
144 * </tr>
145 * <tr>
146 * <td>dcmd.permissionName</td><td>String</td>
147 * <td>The fist argument of the permission required to execute this
148 * diagnostic command or null if no permission is required</td>
149 * </tr>
150 * <tr>
151 * <td>dcmd.permissionAction</td><td>String</td>
152 * <td>The second argument of the permission required to execute this
153 * diagnostic command or null if the permission constructor has only
154 * one argument (like the ManagementPermission) or if no permission
155 * is required</td>
156 * </tr>
157 * <tr>
158 * <td>dcmd.arguments</td><td>Descriptor</td>
159 * <td>A Descriptor instance containing the descriptions of options and
160 * arguments supported by the diagnostic command (see below)</td>
161 * </tr>
162 * </table>
163 *
164 * <p>The description of parameters (options or arguments) of a diagnostic
165 * command is provided within a Descriptor instance. In this Descriptor,
166 * each field name is a parameter name, and each field value is itself
167 * a Descriptor instance. The fields provided in this second Descriptor
168 * instance are described in the table below:
169 *
170 * <table border="1" cellpadding="5">
171 * <tr>
172 * <th>Name</th><th>Type</th><th>Description</th>
173 * </tr>
174 * <tr>
175 * <td>dcmd.arg.name</td><td>String</td>
176 * <td>The name of the parameter</td>
177 * </tr>
178 * <tr>
179 * <td>dcmd.arg.type</td><td>String</td>
180 * <td>The type of the parameter. The returned String is the name of a type
181 * recognized by the diagnostic command parser. These types are not
182 * Java types and are implementation dependent.
|