The ModelMBeanAttributeInfo object describes an attribute of the ModelMBean.
It is a subclass of MBeanAttributeInfo with the addition of an associated Descriptor
and an implementation of the DescriptorAccess interface.
The fields in the descriptor are defined, but not limited to, the following.
Note that when the Type in this table is Number, a String that is the decimal
representation of a Long can also be used.
Name | Type | Meaning |
name | String |
Attribute name. |
descriptorType | String |
Must be "attribute". |
value | Object |
Current (cached) value for attribute. |
default | Object |
Default value for attribute. |
displayName | String |
Name of attribute to be used in displays. |
getMethod | String |
Name of operation descriptor for get method. |
setMethod | String |
Name of operation descriptor for set method. |
protocolMap | Descriptor |
See the section "Protocol Map Support" in the JMX specification
document. Mappings must be appropriate for the attribute and entries
can be updated or augmented at runtime. |
persistPolicy | String |
One of: OnUpdate|OnTimer|NoMoreOftenThan|OnUnregister|Always|Never.
See the section "MBean Descriptor Fields" in the JMX specification
document. |
persistPeriod | Number |
Frequency of persist cycle in seconds. Used when persistPolicy is
"OnTimer" or "NoMoreOftenThan". |
currencyTimeLimit | Number |
How long value is valid: <0 never,
=0 always, >0 seconds. |
lastUpdatedTimeStamp | Number |
When value was set. |
visibility | Number |
1-4 where 1: always visible, 4: rarely visible. |
presentationString | String |
XML formatted string to allow presentation of data. |
The default descriptor contains the name, descriptorType and displayName
fields. The default value of the name and displayName fields is the name of
the attribute.
Constructor: |
public ModelMBeanAttributeInfo(ModelMBeanAttributeInfo inInfo) {
super(inInfo.getName(),
inInfo.getType(),
inInfo.getDescription(),
inInfo.isReadable(),
inInfo.isWritable(),
inInfo.isIs());
if (MODELMBEAN_LOGGER.isLoggable(Level.FINER)) {
MODELMBEAN_LOGGER.logp(Level.FINER,
ModelMBeanAttributeInfo.class.getName(),
"ModelMBeanAttributeInfo(ModelMBeanAttributeInfo)",
"Entry");
}
Descriptor newDesc = inInfo.getDescriptor();
attrDescriptor = validDescriptor(newDesc);
}
Constructs a new ModelMBeanAttributeInfo object from this
ModelMBeanAttributeInfo Object. A default descriptor will
be created. Parameters:
inInfo - the ModelMBeanAttributeInfo to be duplicated
|
public ModelMBeanAttributeInfo(String name,
String description,
Method getter,
Method setter) throws IntrospectionException {
super(name, description, getter, setter);
if (MODELMBEAN_LOGGER.isLoggable(Level.FINER)) {
MODELMBEAN_LOGGER.logp(Level.FINER,
ModelMBeanAttributeInfo.class.getName(),
"ModelMBeanAttributeInfo(" +
"String,String,Method,Method)",
"Entry", name);
}
attrDescriptor = validDescriptor(null);
// put getter and setter methods in operations list
// create default descriptor
}
Constructs a ModelMBeanAttributeInfo object with a default
descriptor. The Descriptor of the constructed
object will include fields contributed by any annotations
on the {@code Method} objects that contain the DescriptorKey meta-annotation. Parameters:
name - The name of the attribute.
description - A human readable description of the attribute. Optional.
getter - The method used for reading the attribute value.
May be null if the property is write-only.
setter - The method used for writing the attribute value.
May be null if the attribute is read-only.
Throws:
IntrospectionException - There is a consistency
problem in the definition of this attribute.
- exception:
IntrospectionException - There is a consistency
problem in the definition of this attribute.
|
public ModelMBeanAttributeInfo(String name,
String description,
Method getter,
Method setter,
Descriptor descriptor) throws IntrospectionException {
super(name, description, getter, setter);
// put getter and setter methods in operations list
if (MODELMBEAN_LOGGER.isLoggable(Level.FINER)) {
MODELMBEAN_LOGGER.logp(Level.FINER,
ModelMBeanAttributeInfo.class.getName(),
"ModelMBeanAttributeInfo(" +
"String,String,Method,Method,Descriptor)",
"Entry", name);
}
attrDescriptor = validDescriptor(descriptor);
}
Constructs a ModelMBeanAttributeInfo object. The Descriptor of the constructed object will include fields
contributed by any annotations on the {@code Method}
objects that contain the DescriptorKey
meta-annotation. Parameters:
name - The name of the attribute.
description - A human readable description of the attribute. Optional.
getter - The method used for reading the attribute value.
May be null if the property is write-only.
setter - The method used for writing the attribute value.
May be null if the attribute is read-only.
descriptor - An instance of Descriptor containing the
appropriate metadata for this instance of the Attribute. If
it is null, then a default descriptor will be created. If
the descriptor does not contain the field "displayName" this field is added
in the descriptor with its default value.
Throws:
IntrospectionException - There is a consistency
problem in the definition of this attribute.
RuntimeOperationsException - Wraps an
IllegalArgumentException. The descriptor is invalid, or descriptor
field "name" is not equal to name parameter, or descriptor field
"descriptorType" is not equal to "attribute".
- exception:
IntrospectionException - There is a consistency
problem in the definition of this attribute.
- exception:
RuntimeOperationsException - Wraps an
IllegalArgumentException. The descriptor is invalid, or descriptor
field "name" is not equal to name parameter, or descriptor field
"descriptorType" is not equal to "attribute".
|
public ModelMBeanAttributeInfo(String name,
String type,
String description,
boolean isReadable,
boolean isWritable,
boolean isIs) {
super(name, type, description, isReadable, isWritable, isIs);
// create default descriptor
if (MODELMBEAN_LOGGER.isLoggable(Level.FINER)) {
MODELMBEAN_LOGGER.logp(Level.FINER,
ModelMBeanAttributeInfo.class.getName(),
"ModelMBeanAttributeInfo(" +
"String,String,String,boolean,boolean,boolean)",
"Entry", name);
}
attrDescriptor = validDescriptor(null);
}
Constructs a ModelMBeanAttributeInfo object with a default descriptor. Parameters:
name - The name of the attribute
type - The type or class name of the attribute
description - A human readable description of the attribute.
isReadable - True if the attribute has a getter method, false otherwise.
isWritable - True if the attribute has a setter method, false otherwise.
isIs - True if the attribute has an "is" getter, false otherwise.
|
public ModelMBeanAttributeInfo(String name,
String type,
String description,
boolean isReadable,
boolean isWritable,
boolean isIs,
Descriptor descriptor) {
super(name, type, description, isReadable, isWritable, isIs);
if (MODELMBEAN_LOGGER.isLoggable(Level.FINER)) {
MODELMBEAN_LOGGER.logp(Level.FINER,
ModelMBeanAttributeInfo.class.getName(),
"ModelMBeanAttributeInfo(String,String,String," +
"boolean,boolean,boolean,Descriptor)",
"Entry", name);
}
attrDescriptor = validDescriptor(descriptor);
}
Constructs a ModelMBeanAttributeInfo object. Parameters:
name - The name of the attribute
type - The type or class name of the attribute
description - A human readable description of the attribute.
isReadable - True if the attribute has a getter method, false otherwise.
isWritable - True if the attribute has a setter method, false otherwise.
isIs - True if the attribute has an "is" getter, false otherwise.
descriptor - An instance of Descriptor containing the
appropriate metadata for this instance of the Attribute. If
it is null then a default descriptor will be created. If
the descriptor does not contain the field "displayName" this field
is added in the descriptor with its default value.
Throws:
RuntimeOperationsException - Wraps an
IllegalArgumentException. The descriptor is invalid, or descriptor
field "name" is not equal to name parameter, or descriptor field
"descriptorType" is not equal to "attribute".
- exception:
RuntimeOperationsException - Wraps an
IllegalArgumentException. The descriptor is invalid, or descriptor
field "name" is not equal to name parameter, or descriptor field
"descriptorType" is not equal to "attribute".
|
Method from javax.management.modelmbean.ModelMBeanAttributeInfo Detail: |
public Object clone() {
if (MODELMBEAN_LOGGER.isLoggable(Level.FINER)) {
MODELMBEAN_LOGGER.logp(Level.FINER,
ModelMBeanAttributeInfo.class.getName(),
"clone()", "Entry");
}
return(new ModelMBeanAttributeInfo(this));
}
Creates and returns a new ModelMBeanAttributeInfo which is a duplicate of this ModelMBeanAttributeInfo. |
public Descriptor getDescriptor() {
if (MODELMBEAN_LOGGER.isLoggable(Level.FINER)) {
MODELMBEAN_LOGGER.logp(Level.FINER,
ModelMBeanAttributeInfo.class.getName(),
"getDescriptor()", "Entry");
}
if (attrDescriptor == null) {
attrDescriptor = validDescriptor(null);
}
return((Descriptor)attrDescriptor.clone());
}
Gets a copy of the associated Descriptor for the
ModelMBeanAttributeInfo. |
public void setDescriptor(Descriptor inDescriptor) {
attrDescriptor = validDescriptor(inDescriptor);
}
Sets associated Descriptor (full replace) for the
ModelMBeanAttributeDescriptor. If the new Descriptor is
null, then the associated Descriptor reverts to a default
descriptor. The Descriptor is validated before it is
assigned. If the new Descriptor is invalid, then a
RuntimeOperationsException wrapping an
IllegalArgumentException is thrown. |
public String toString() {
return
"ModelMBeanAttributeInfo: " + this.getName() +
" ; Description: " + this.getDescription() +
" ; Types: " + this.getType() +
" ; isReadable: " + this.isReadable() +
" ; isWritable: " + this.isWritable() +
" ; Descriptor: " + this.getDescriptor();
}
Returns a human-readable version of the
ModelMBeanAttributeInfo instance. |