javax.management.modelmbean

接口
异常
java.lang.Object
  继承者 javax.management.MBeanFeatureInfo
      继承者 javax.management.MBeanAttributeInfo
          继承者 javax.management.modelmbean.ModelMBeanAttributeInfo
所有已实现的接口:
Serializable, Cloneable, DescriptorAccess, DescriptorRead

public class ModelMBeanAttributeInfo
     
extends MBeanAttributeInfo
implements DescriptorAccess

ModelMBeanAttributeInfo 对象描述了 ModelMBean 的属性。它是 MBeanAttributeInfo 的一个子类,添加了关联的 Descriptor 和 DescriptorAccess 接口实现。

描述符中的字段定义如下,但不限于此:

 name           : 属性名称 
 descriptorType : 必须为 "attribute"   
 value          : 属性的当前值
 default        : 属性的默认值
 displayName    : 将在显示中使用的属性名称
 getMethod      : get 方法的操作描述符名称
 setMethod      : set 方法的操作描述符名称
 protocolMap    : 实现 Descriptor 接口的对象:映射关系必须适用于该属性并且项可以在运行时进行更新或扩充。
 persistPolicy  : OnUpdate|OnTimer|NoMoreOftenThan|OnUnregister|Always|Never  
 persistPeriod  : 秒数 - 持续周期的频率。当 persistPolicy 为 "OnTimer" 或 "NoMoreOftenThan" 时使用。  
 currencyTimeLimit : 值保持有效的时间,<0 表示无效,=0 表示总是有效,>0 表示有效的秒数
 lastUpdatedTimeStamp : 当设置值时
 visibility     : 1-4,其中 1 表示总是可见;4 表示几乎不可见
 presentationString : 允许数据呈现的 xml 格式的字符串
 
默认的描述符包含 name、descriptorType 和 displayName 字段。

注:由于与此规范的以前版本不一致,因此对于 currencyTimeLimit,建议不使用负值或零。要指示某个缓存的值永远无效,请忽略 currencyTimeLimit 字段。要指示它总是有效,请对此字段使用一个非常大的值。

此类的 serialVersionUID6181543027787327345L

从以下版本开始:
1.5
另请参见:
序列化表格

字段摘要
 
从类 javax.management.MBeanFeatureInfo 继承的字段
description, name
 
构造方法摘要
ModelMBeanAttributeInfo(ModelMBeanAttributeInfo inInfo)
          根据此 ModelMBeanAttributeInfo Object 构造新的 ModelMBeanAttributeInfo 对象。
ModelMBeanAttributeInfo(String name, String description, Method getter, Method setter)
          构造具有默认描述符的 ModelMBeanAttributeInfo 对象。
ModelMBeanAttributeInfo(String name, String description, Method getter, Method setter, Descriptor descriptor)
          构造 ModelMBeanAttributeInfo 对象。
ModelMBeanAttributeInfo(String name, String type, String description, boolean isReadable, boolean isWritable, boolean isIs)
          构造具有默认描述符的 ModelMBeanAttributeInfo 对象。
ModelMBeanAttributeInfo(String name, String type, String description, boolean isReadable, boolean isWritable, boolean isIs, Descriptor descriptor)
          构造具有默认描述符的 ModelMBeanAttributeInfo 对象。
 
方法摘要
 Object clone()
          创建并返回新的 ModelMBeanAttributeInfo,它是此 ModelMBeanAttributeInfo 的副本。
 Descriptor getDescriptor()
          获取 ModelMBeanAttributeInfo 的关联 Descriptor 的副本。
 void setDescriptor(Descriptor inDescriptor)
          设置 ModelMBeanAttributeDescriptor 的关联 Descriptor(完全取代)。
 String toString()
          返回 ModelMBeanAttributeInfo 实例的可读版本。
 
从类 javax.management.MBeanAttributeInfo 继承的方法
equals, getType, hashCode, isIs, isReadable, isWritable
 
从类 javax.management.MBeanFeatureInfo 继承的方法
getDescription, getName
 
从类 java.lang.Object 继承的方法
finalize, getClass, notify, notifyAll, wait, wait, wait
 

构造方法详细信息

ModelMBeanAttributeInfo

public ModelMBeanAttributeInfo(String name,
                               String description,
                               Method getter,
                               Method setter)
                        throws IntrospectionException
构造具有默认描述符的 ModelMBeanAttributeInfo 对象。已构造对象的 Descriptor 包括 Method 对象(包含 DescriptorKey 元注释)生成的字段。

参数:
name - 属性名称。
description - 属性的可读描述。它是可选的。
getter - 用于读取属性值的方法。如果该属性是只写的,则此参数可以为 null。
setter - 用于写入属性值的方法。如果该属性是只读的,则此参数可以为 null。
抛出:
IntrospectionException - 如果此属性的定义中存在一致性问题。

ModelMBeanAttributeInfo

public ModelMBeanAttributeInfo(String name,
                               String description,
                               Method getter,
                               Method setter,
                               Descriptor descriptor)
                        throws IntrospectionException
构造 ModelMBeanAttributeInfo 对象。已构造对象的 Descriptor 包括 Method 对象(包含 DescriptorKey 元注释)生成的字段。

参数:
name - 属性名称。
description - 属性的可读描述。它是可选的。
getter - 用于读取属性值的方法。如果该属性是只写的,则此参数可以为 null。
setter - 用于写入属性值的方法。如果该属性是只读的,则此参数可以为 null。
descriptor - 包含此 Attribute 实例的适当元数据的 Descriptor 的实例。如果此参数为 null,则将创建默认描述符。如果描述符不包含 "displayName" 字段,则用默认值将此字段添加到描述符中。
抛出:
IntrospectionException - 如果此属性的定义中存在一致性问题。
RuntimeOperationsException - 包装一个 IllegalArgumentException。描述符无效,或者描述符 "name" 字段不等于 name 参数,或者描述符字段 "DescriptorType" 不等于 "attribute"。

ModelMBeanAttributeInfo

public ModelMBeanAttributeInfo(String name,
                               String type,
                               String description,
                               boolean isReadable,
                               boolean isWritable,
                               boolean isIs)
构造具有默认描述符的 ModelMBeanAttributeInfo 对象。

参数:
name - 属性名称
type - 属性的类型名称或类名称
description - 属性的可读描述。
isReadable - 如果属性有获取方法,则该参数为 true,否则为 false。
isWritable - 如果属性有设置方法,则该参数为 true,否则为 false。
isIs - 如果属性有一个 "is" 获取方法,则该参数为 true,否则为 false。

ModelMBeanAttributeInfo

public ModelMBeanAttributeInfo(String name,
                               String type,
                               String description,
                               boolean isReadable,
                               boolean isWritable,
                               boolean isIs,
                               Descriptor descriptor)
构造具有默认描述符的 ModelMBeanAttributeInfo 对象。

参数:
name - 属性名称
type - 属性的类型名称或类名称
description - 属性的可读描述。
isReadable - 如果属性有获取方法,则该参数为 true,否则为 false。
isWritable - 如果属性有设置方法,则该参数为 true,否则为 false。
isIs - 如果属性有一个 "is" 获取方法,则为 true,否则为 false。
descriptor - 包含此 Attribute 实例的适当元数据的 Descriptor 的一个实例。如果它为 null,则将创建默认描述符。如果描述符不包含 "displayName" 字段,则用默认值将此字段添加到描述符中。
抛出:
RuntimeOperationsException - 包装一个 IllegalArgumentException。描述符无效,或者描述符 "name" 字段不等于 name 参数,或者描述符字段 "DescriptorType" 不等于 "attribute"。

ModelMBeanAttributeInfo

public ModelMBeanAttributeInfo(ModelMBeanAttributeInfo inInfo)
根据此 ModelMBeanAttributeInfo Object 构造新的 ModelMBeanAttributeInfo 对象。这将创建一个默认描述符。

参数:
inInfo - 将被复制的 ModelMBeanAttributeInfo
方法详细信息

getDescriptor

public Descriptor getDescriptor()
获取 ModelMBeanAttributeInfo 的关联 Descriptor 的副本。

指定者:
接口 DescriptorRead 中的 getDescriptor
覆盖:
MBeanFeatureInfo 中的 getDescriptor
返回:
与 ModelMBeanAttributeInfo 对象关联的 Descriptor。
另请参见:
setDescriptor(javax.management.Descriptor)

setDescriptor

public void setDescriptor(Descriptor inDescriptor)
设置 ModelMBeanAttributeDescriptor 的关联 Descriptor(完全取代)。如果新 Descriptor 为 null,则关联的 Descriptor 恢复为默认描述符。在分配 Descriptor 之前验证它。如果新 Descriptor 无效,则抛出一个包装 IllegalArgumentException 的 RuntimeOperationsException。

指定者:
接口 DescriptorAccess 中的 setDescriptor
参数:
inDescriptor - 替换与 ModelMBeanAttributeInfo 关联的 Descriptor
抛出:
RuntimeOperationsException - 包装无效 Descriptor 的 IllegalArgumentException
另请参见:
getDescriptor()

clone

public Object clone()
创建并返回新的 ModelMBeanAttributeInfo,它是此 ModelMBeanAttributeInfo 的副本。

覆盖:
MBeanAttributeInfo 中的 clone
返回:
此实例的一个副本。
抛出:
RuntimeOperationsException - 如果 Names 或 Values 字段的值为非法值。如果因为某种原因导致描述符构造失败,则将抛出此异常。
另请参见:
Cloneable

toString

public String toString()
返回 ModelMBeanAttributeInfo 实例的可读版本。

覆盖:
MBeanAttributeInfo 中的 toString
返回:
该对象的字符串表示形式。