JavaTM 2 Platform
Standard Ed. 6

javax.management
註釋型別 DescriptorKey


@Documented
@Retention(value=RUNTIME)
@Target(value=METHOD)
public @interface DescriptorKey

描述註釋元素與 Descriptor 中欄位之間關聯方式的元註釋。它可以是 MBean 的 Descriptor,也可以是 MBean 中屬性、操作或建構子的 Descriptor,還可以是操作或建構子的參數的 Descriptor。

考慮下例中的註釋:

 @Documented
 @Target(ElementType.METHOD)
 @Retention(RetentionPolicy.RUNTIME)
 public @interface Units {
     @DescriptorKey("units")
     String value();
 }
 

以及註釋的這種用法:

public interface CacheControlMBean {
@Units("bytes")
public long getCacheSize();
 }
 

當 Standard MBean 由 CacheControlMBean 產生時,通常的規則意味著它將有一個稱為 CacheSize 的型別為 long 的屬性。在給定上述定義的情況下,@Units 屬性將確保此屬性的 MBeanAttributeInfo 將具有一個 Descriptor,該 Descriptor 有一個稱為 units 的欄位,且其相應的值為 bytes

類似地,如果註釋的形式如下:

 @Documented
 @Target(ElementType.METHOD)
 @Retention(RetentionPolicy.RUNTIME)
 public @interface Units {
     @DescriptorKey("units")
     String value();

     @DescriptorKey("descriptionResourceKey")
     String resourceKey() default "";

     @DescriptorKey("descriptionResourceBundleBaseName")
     String resourceBundleBaseName() default "";
 }
 

且用法如下:

public interface CacheControlMBean {
@Units("bytes",
resourceKey="bytes.key",
resourceBundleBaseName="com.example.foo.MBeanResources")
public long getCacheSize();
 }
 

則得到的 Descriptor 將包含以下欄位:

名稱
units"bytes"
descriptionResourceKey"bytes.key"
descriptionResourceBundleBaseName "com.example.foo.MBeanResources"

@Units 之類別的註釋可以應用於:

忽略註釋的其他用途。

只在定義 Standard MBean 或 MXBean 的管理介面的具體介面上檢查介面註釋,而不在其父介面上檢查。只在方法出現的最具體的介面中檢查方法註釋;換句話說,如果子介面覆寫了父介面中的方法,則只考慮子介面中該方法中的 @DescriptorKey 註釋。

由同一個程序元素上的不同註釋提供的 Descriptor 欄位必須一致。也就是說,兩個不同註釋或同一註釋的兩個成員不得為同一 Descriptor 欄位定義不同的值。獲取方法上的註釋欄位也必須與相應設置方法上的註釋欄位一致。

從這些註釋中得到的 Descriptor 將與實作提供的任何 Descriptor 欄位合併,如 MBean 的 immutableInfo 欄位。註釋中的欄位必須與實作提供的這些欄位一致。

要轉換為描述符欄位的註釋元素可以是 Java 語言允許的任何型別,註釋或註釋陣列除外。欄位值由以下註釋元素的值導出:

註釋元素描述符欄位
基本型別值(5false 等) 包裹值(Integer.valueOf(5)Boolean.FALSE 等)
類別常數(如 Thread.class Class.getName() 得到的類別名稱(如 "java.lang.Thread"
列舉常數(如 ElementType.FIELD Enum.name() 得到的常數名稱(如 "FIELD"
類別常數或列舉常數組成的陣列 將這些規則應用於每個元素而派生的字元串陣列
任何其他型別的值
StringString[]int[] 等)
相同的值

從以下版本開始:
1.6

必需元素摘要
 String value
           
 

元素詳細資訊

value

public abstract String value

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only