97
98 /**
99 * Constructs an {@code OpenMBeanAttributeInfoSupport} instance,
100 * which describes the attribute of an open MBean with the
101 * specified {@code name}, {@code openType} and {@code
102 * description}, and the specified read/write access properties.
103 *
104 * @param name cannot be a null or empty string.
105 *
106 * @param description cannot be a null or empty string.
107 *
108 * @param openType cannot be null.
109 *
110 * @param isReadable {@code true} if the attribute has a getter
111 * exposed for management.
112 *
113 * @param isWritable {@code true} if the attribute has a setter
114 * exposed for management.
115 *
116 * @param isIs {@code true} if the attribute's getter is of the
117 * form <tt>is<i>XXX</i></tt>.
118 *
119 * @throws IllegalArgumentException if {@code name} or {@code
120 * description} are null or empty string, or {@code openType} is
121 * null.
122 */
123 public OpenMBeanAttributeInfoSupport(String name,
124 String description,
125 OpenType<?> openType,
126 boolean isReadable,
127 boolean isWritable,
128 boolean isIs) {
129 this(name, description, openType, isReadable, isWritable, isIs,
130 (Descriptor) null);
131 }
132
133 /**
134 * <p>Constructs an {@code OpenMBeanAttributeInfoSupport} instance,
135 * which describes the attribute of an open MBean with the
136 * specified {@code name}, {@code openType}, {@code
137 * description}, read/write access properties, and {@code Descriptor}.</p>
138 *
139 * <p>The {@code descriptor} can contain entries that will define
140 * the values returned by certain methods of this class, as
141 * explained in the <a href="package-summary.html#constraints">
142 * package description</a>.
143 *
144 * @param name cannot be a null or empty string.
145 *
146 * @param description cannot be a null or empty string.
147 *
148 * @param openType cannot be null.
149 *
150 * @param isReadable {@code true} if the attribute has a getter
151 * exposed for management.
152 *
153 * @param isWritable {@code true} if the attribute has a setter
154 * exposed for management.
155 *
156 * @param isIs {@code true} if the attribute's getter is of the
157 * form <tt>is<i>XXX</i></tt>.
158 *
159 * @param descriptor The descriptor for the attribute. This may be null
160 * which is equivalent to an empty descriptor.
161 *
162 * @throws IllegalArgumentException if {@code name} or {@code
163 * description} are null or empty string, or {@code openType} is
164 * null, or the descriptor entries are invalid as described in the
165 * <a href="package-summary.html#constraints">package description</a>.
166 *
167 * @since 1.6
168 */
169 public OpenMBeanAttributeInfoSupport(String name,
170 String description,
171 OpenType<?> openType,
172 boolean isReadable,
173 boolean isWritable,
174 boolean isIs,
175 Descriptor descriptor) {
176 // Construct parent's state
177 //
204 /**
205 * Constructs an {@code OpenMBeanAttributeInfoSupport} instance,
206 * which describes the attribute of an open MBean with the
207 * specified {@code name}, {@code openType}, {@code description}
208 * and {@code defaultValue}, and the specified read/write access
209 * properties.
210 *
211 * @param name cannot be a null or empty string.
212 *
213 * @param description cannot be a null or empty string.
214 *
215 * @param openType cannot be null.
216 *
217 * @param isReadable {@code true} if the attribute has a getter
218 * exposed for management.
219 *
220 * @param isWritable {@code true} if the attribute has a setter
221 * exposed for management.
222 *
223 * @param isIs {@code true} if the attribute's getter is of the
224 * form <tt>is<i>XXX</i></tt>.
225 *
226 * @param defaultValue must be a valid value for the {@code
227 * openType} specified for this attribute; default value not
228 * supported for {@code ArrayType} and {@code TabularType}; can
229 * be null, in which case it means that no default value is set.
230 *
231 * @param <T> allows the compiler to check that the {@code defaultValue},
232 * if non-null, has the correct Java type for the given {@code openType}.
233 *
234 * @throws IllegalArgumentException if {@code name} or {@code
235 * description} are null or empty string, or {@code openType} is
236 * null.
237 *
238 * @throws OpenDataException if {@code defaultValue} is not a
239 * valid value for the specified {@code openType}, or {@code
240 * defaultValue} is non null and {@code openType} is an {@code
241 * ArrayType} or a {@code TabularType}.
242 */
243 public <T> OpenMBeanAttributeInfoSupport(String name,
244 String description,
261 * read/write access properties.</p>
262 *
263 * <p>The contents of {@code legalValues} are copied, so subsequent
264 * modifications of the array referenced by {@code legalValues}
265 * have no impact on this {@code OpenMBeanAttributeInfoSupport}
266 * instance.</p>
267 *
268 * @param name cannot be a null or empty string.
269 *
270 * @param description cannot be a null or empty string.
271 *
272 * @param openType cannot be null.
273 *
274 * @param isReadable {@code true} if the attribute has a getter
275 * exposed for management.
276 *
277 * @param isWritable {@code true} if the attribute has a setter
278 * exposed for management.
279 *
280 * @param isIs {@code true} if the attribute's getter is of the
281 * form <tt>is<i>XXX</i></tt>.
282 *
283 * @param defaultValue must be a valid value
284 * for the {@code
285 * openType} specified for this attribute; default value not
286 * supported for {@code ArrayType} and {@code TabularType}; can
287 * be null, in which case it means that no default value is set.
288 *
289 * @param legalValues each contained value must be valid for the
290 * {@code openType} specified for this attribute; legal values
291 * not supported for {@code ArrayType} and {@code TabularType};
292 * can be null or empty.
293 *
294 * @param <T> allows the compiler to check that the {@code
295 * defaultValue} and {@code legalValues}, if non-null, have the
296 * correct Java type for the given {@code openType}.
297 *
298 * @throws IllegalArgumentException if {@code name} or {@code
299 * description} are null or empty string, or {@code openType} is
300 * null.
301 *
328 * which describes the attribute of an open MBean, with the
329 * specified {@code name}, {@code openType}, {@code description},
330 * {@code defaultValue}, {@code minValue} and {@code maxValue}.
331 *
332 * It is possible to specify minimal and maximal values only for
333 * an open type whose values are {@code Comparable}.
334 *
335 * @param name cannot be a null or empty string.
336 *
337 * @param description cannot be a null or empty string.
338 *
339 * @param openType cannot be null.
340 *
341 * @param isReadable {@code true} if the attribute has a getter
342 * exposed for management.
343 *
344 * @param isWritable {@code true} if the attribute has a setter
345 * exposed for management.
346 *
347 * @param isIs {@code true} if the attribute's getter is of the
348 * form <tt>is<i>XXX</i></tt>.
349 *
350 * @param defaultValue must be a valid value for the {@code
351 * openType} specified for this attribute; default value not
352 * supported for {@code ArrayType} and {@code TabularType}; can be
353 * null, in which case it means that no default value is set.
354 *
355 * @param minValue must be valid for the {@code openType}
356 * specified for this attribute; can be null, in which case it
357 * means that no minimal value is set.
358 *
359 * @param maxValue must be valid for the {@code openType}
360 * specified for this attribute; can be null, in which case it
361 * means that no maximal value is set.
362 *
363 * @param <T> allows the compiler to check that the {@code
364 * defaultValue}, {@code minValue}, and {@code maxValue}, if
365 * non-null, have the correct Java type for the given {@code
366 * openType}.
367 *
368 * @throws IllegalArgumentException if {@code name} or {@code
|
97
98 /**
99 * Constructs an {@code OpenMBeanAttributeInfoSupport} instance,
100 * which describes the attribute of an open MBean with the
101 * specified {@code name}, {@code openType} and {@code
102 * description}, and the specified read/write access properties.
103 *
104 * @param name cannot be a null or empty string.
105 *
106 * @param description cannot be a null or empty string.
107 *
108 * @param openType cannot be null.
109 *
110 * @param isReadable {@code true} if the attribute has a getter
111 * exposed for management.
112 *
113 * @param isWritable {@code true} if the attribute has a setter
114 * exposed for management.
115 *
116 * @param isIs {@code true} if the attribute's getter is of the
117 * form <code>is<i>XXX</i></code>.
118 *
119 * @throws IllegalArgumentException if {@code name} or {@code
120 * description} are null or empty string, or {@code openType} is
121 * null.
122 */
123 public OpenMBeanAttributeInfoSupport(String name,
124 String description,
125 OpenType<?> openType,
126 boolean isReadable,
127 boolean isWritable,
128 boolean isIs) {
129 this(name, description, openType, isReadable, isWritable, isIs,
130 (Descriptor) null);
131 }
132
133 /**
134 * <p>Constructs an {@code OpenMBeanAttributeInfoSupport} instance,
135 * which describes the attribute of an open MBean with the
136 * specified {@code name}, {@code openType}, {@code
137 * description}, read/write access properties, and {@code Descriptor}.</p>
138 *
139 * <p>The {@code descriptor} can contain entries that will define
140 * the values returned by certain methods of this class, as
141 * explained in the <a href="package-summary.html#constraints">
142 * package description</a>.
143 *
144 * @param name cannot be a null or empty string.
145 *
146 * @param description cannot be a null or empty string.
147 *
148 * @param openType cannot be null.
149 *
150 * @param isReadable {@code true} if the attribute has a getter
151 * exposed for management.
152 *
153 * @param isWritable {@code true} if the attribute has a setter
154 * exposed for management.
155 *
156 * @param isIs {@code true} if the attribute's getter is of the
157 * form <code>is<i>XXX</i></code>.
158 *
159 * @param descriptor The descriptor for the attribute. This may be null
160 * which is equivalent to an empty descriptor.
161 *
162 * @throws IllegalArgumentException if {@code name} or {@code
163 * description} are null or empty string, or {@code openType} is
164 * null, or the descriptor entries are invalid as described in the
165 * <a href="package-summary.html#constraints">package description</a>.
166 *
167 * @since 1.6
168 */
169 public OpenMBeanAttributeInfoSupport(String name,
170 String description,
171 OpenType<?> openType,
172 boolean isReadable,
173 boolean isWritable,
174 boolean isIs,
175 Descriptor descriptor) {
176 // Construct parent's state
177 //
204 /**
205 * Constructs an {@code OpenMBeanAttributeInfoSupport} instance,
206 * which describes the attribute of an open MBean with the
207 * specified {@code name}, {@code openType}, {@code description}
208 * and {@code defaultValue}, and the specified read/write access
209 * properties.
210 *
211 * @param name cannot be a null or empty string.
212 *
213 * @param description cannot be a null or empty string.
214 *
215 * @param openType cannot be null.
216 *
217 * @param isReadable {@code true} if the attribute has a getter
218 * exposed for management.
219 *
220 * @param isWritable {@code true} if the attribute has a setter
221 * exposed for management.
222 *
223 * @param isIs {@code true} if the attribute's getter is of the
224 * form <code>is<i>XXX</i></code>.
225 *
226 * @param defaultValue must be a valid value for the {@code
227 * openType} specified for this attribute; default value not
228 * supported for {@code ArrayType} and {@code TabularType}; can
229 * be null, in which case it means that no default value is set.
230 *
231 * @param <T> allows the compiler to check that the {@code defaultValue},
232 * if non-null, has the correct Java type for the given {@code openType}.
233 *
234 * @throws IllegalArgumentException if {@code name} or {@code
235 * description} are null or empty string, or {@code openType} is
236 * null.
237 *
238 * @throws OpenDataException if {@code defaultValue} is not a
239 * valid value for the specified {@code openType}, or {@code
240 * defaultValue} is non null and {@code openType} is an {@code
241 * ArrayType} or a {@code TabularType}.
242 */
243 public <T> OpenMBeanAttributeInfoSupport(String name,
244 String description,
261 * read/write access properties.</p>
262 *
263 * <p>The contents of {@code legalValues} are copied, so subsequent
264 * modifications of the array referenced by {@code legalValues}
265 * have no impact on this {@code OpenMBeanAttributeInfoSupport}
266 * instance.</p>
267 *
268 * @param name cannot be a null or empty string.
269 *
270 * @param description cannot be a null or empty string.
271 *
272 * @param openType cannot be null.
273 *
274 * @param isReadable {@code true} if the attribute has a getter
275 * exposed for management.
276 *
277 * @param isWritable {@code true} if the attribute has a setter
278 * exposed for management.
279 *
280 * @param isIs {@code true} if the attribute's getter is of the
281 * form <code>is<i>XXX</i></code>.
282 *
283 * @param defaultValue must be a valid value
284 * for the {@code
285 * openType} specified for this attribute; default value not
286 * supported for {@code ArrayType} and {@code TabularType}; can
287 * be null, in which case it means that no default value is set.
288 *
289 * @param legalValues each contained value must be valid for the
290 * {@code openType} specified for this attribute; legal values
291 * not supported for {@code ArrayType} and {@code TabularType};
292 * can be null or empty.
293 *
294 * @param <T> allows the compiler to check that the {@code
295 * defaultValue} and {@code legalValues}, if non-null, have the
296 * correct Java type for the given {@code openType}.
297 *
298 * @throws IllegalArgumentException if {@code name} or {@code
299 * description} are null or empty string, or {@code openType} is
300 * null.
301 *
328 * which describes the attribute of an open MBean, with the
329 * specified {@code name}, {@code openType}, {@code description},
330 * {@code defaultValue}, {@code minValue} and {@code maxValue}.
331 *
332 * It is possible to specify minimal and maximal values only for
333 * an open type whose values are {@code Comparable}.
334 *
335 * @param name cannot be a null or empty string.
336 *
337 * @param description cannot be a null or empty string.
338 *
339 * @param openType cannot be null.
340 *
341 * @param isReadable {@code true} if the attribute has a getter
342 * exposed for management.
343 *
344 * @param isWritable {@code true} if the attribute has a setter
345 * exposed for management.
346 *
347 * @param isIs {@code true} if the attribute's getter is of the
348 * form <code>is<i>XXX</i></code>.
349 *
350 * @param defaultValue must be a valid value for the {@code
351 * openType} specified for this attribute; default value not
352 * supported for {@code ArrayType} and {@code TabularType}; can be
353 * null, in which case it means that no default value is set.
354 *
355 * @param minValue must be valid for the {@code openType}
356 * specified for this attribute; can be null, in which case it
357 * means that no minimal value is set.
358 *
359 * @param maxValue must be valid for the {@code openType}
360 * specified for this attribute; can be null, in which case it
361 * means that no maximal value is set.
362 *
363 * @param <T> allows the compiler to check that the {@code
364 * defaultValue}, {@code minValue}, and {@code maxValue}, if
365 * non-null, have the correct Java type for the given {@code
366 * openType}.
367 *
368 * @throws IllegalArgumentException if {@code name} or {@code
|