|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.lang.Object javax.management.ObjectName
public class ObjectName
表示 MBean 的对象名,或者能够与多个 MBean 名相匹配的模式。此类的实例是不可变的。
可使用此类的实例表示:
由两部分(域和键属性)组成的对象名。
域 是一个不包括冒号字符 (:
) 的由字符组成的字符串。
如果域包括至少一个通配符星号 (*
) 或问号 (?
),则该对象名就是一个模式。星号匹配任意零或多个字符的序列,而问号则匹配任意单个字符。
如果域为空,则由 MBean 服务器(在其中使用 ObjectName)的默认域 在特定的上下文中替换它。
键属性 是一个无序的键和关联值的集合。
每个键 都是一个由字符组成的非空字符串,不可以包含任何逗号 (,
)、等号 (=
)、冒号、星号或问号字符。在一个给定的 ObjectName 中同一个键不能出现两次。
每个与键关联的值 都是由字符组成的字符串,或者由引号括起来或者不括起来。
无引号值 可能是一个空的字符串,不包含任意逗号、等号、冒号、引号、星号或问号字符。
有引号值 由一个引号 ("
),后跟可能为空的字符串,然后是另一个引号所组成。在字符串内,反斜线 (\
) 具有特殊的含义。其后面必须为下列某个字符:
引号、问号或星号可能不出现在有引号值内,但紧跟在奇数个连续反斜线后的情况除外。
括住有引号值的引号和该值内的所有反斜线都被视为该值的一部分。
ObjectName 可能是一种属性模式。在这种情况下,它可以有零个或多个键和关联值。它与非模式的 ObjectName 匹配,这种 ObjectName 的域与之匹配并且包含相同的键和关联值,并可能包括其他键和值。
如果某个 ObjectName 的域包含通配符或者 ObjectName 是一个属性模式,则该 ObjectName 是一个模式。
如果某个 ObjectName 不是一个模式,则它必须至少包含一个键及其关联值。
按顺序使用下列元素可将 ObjectName 写作一个 String:
:
)。
写为 String 的键属性列表是一个逗号分隔的元素列表。每个元素都是一个星号或一个键属性。键属性由键、等号 (=
) 和关联值所组成。
键属性列表中最多只能有一个元素为星号。如果键属性列表包含星号元素,则该 ObjectName 是一个属性模式。
在表示 ObjectName 的 String 中,空格没有任何特殊含意。例如,String:
domain: key1 = value1 , key2 = value2表示具有两个键的 ObjectName。每个键的名字包含 6 个字符,其中第一个和最后一个都是空格。与键
" key1 "
相关联的值同样以空格开头和结尾。
除了上述提及的字符限制外,ObjectName 的任何部分都不能包含新行符 ('\n'
),无论这些部分是域、键还是值(无引号值和有引号值)。可使用序列 \n
将新行符表示为有引号值。
不管使用何种构造方法构建 ObjectName,关于特殊字符和引号的规则都适用。
为了避免不同供应商所提供的 MBean 之间出现冲突,一个有用的约定是,域名由指定该 MBean 的组织的反向 DNS 名开始,后跟一个句点和一个字符串,由该组织决定该字符串的解释。例如,由 Sun Microsystems Inc.(DNS 名是 sun.com
)所指定的 MBean 将有 com.sun.MyDomain
这样的域。这基本上与 Java 语言包名的约定相同。
构造方法摘要 | |
---|---|
ObjectName(String name)
根据给定的字符串构造一个对象名。 |
|
ObjectName(String domain,
Hashtable table)
构造一个对象名,它具有根据哈希表所得到的多个键属性。 |
|
ObjectName(String domain,
String key,
String value)
构造只具有一个键属性的对象名。 |
方法摘要 | |
---|---|
boolean |
apply(ObjectName name)
测试此 ObjectName(可以是一个模式)是否与另一个 ObjectName 匹配。 |
boolean |
equals(Object object)
比较当前的对象名与另一个对象名是否相等。 |
String |
getCanonicalKeyPropertyListString()
返回键属性列表的字符串表示形式,其中键属性按词汇顺序排序。 |
String |
getCanonicalName()
返回该名称的规范形式;也就是说,一种字符串表示形式,其中属性按词汇顺序排序。 |
String |
getDomain()
返回域部分。 |
static ObjectName |
getInstance(ObjectName name)
返回 ObjectName 的实例,该 ObjectName 可用于任何可使用给定对象的地方。 |
static ObjectName |
getInstance(String name)
返回 ObjectName 的实例,该 ObjectName 可用于任何使用 new ObjectName(name) 获得的对象可用的地方。 |
static ObjectName |
getInstance(String domain,
Hashtable table)
返回 ObjectName 的实例,该 ObjectName 可用于任何使用 new ObjectName(domain, table) 获得的对象可用的地方。 |
static ObjectName |
getInstance(String domain,
String key,
String value)
返回 ObjectName 的实例,该 ObjectName 可用于任何使用 new ObjectName(domain, key, value) 获得的对象可以使用的地方。 |
String |
getKeyProperty(String property)
获得与键属性中某个键相关联的值。 |
Hashtable |
getKeyPropertyList()
以哈希表的形式返回键属性。 |
String |
getKeyPropertyListString()
返回创建时所指定的键属性列表的字符串表示形式。 |
int |
hashCode()
返回此 ObjectName 的哈希码。 |
boolean |
isDomainPattern()
根据对象名的域部分检查它是否为一个模式。 |
boolean |
isPattern()
检查该对象名是否为一个模式。 |
boolean |
isPropertyPattern()
根据对象名的键属性检查它是否为一个模式。 |
static String |
quote(String s)
返回给定 String 的有引号形式,使之适合于包含在 ObjectName 中。 |
void |
setMBeanServer(MBeanServer mbs)
设置将在其上执行查询的 MBean 服务器。 |
String |
toString()
返回该对象名的字符串表示形式。 |
static String |
unquote(String q)
返回给定 String 的无引号形式,如果 q 是 quote(s) 所返回的 String,则 unquote(q).equals(s) 。 |
从类 java.lang.Object 继承的方法 |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
构造方法详细信息 |
---|
public ObjectName(String name) throws MalformedObjectNameException, NullPointerException
name
- 对象名的字符串表示形式。
MalformedObjectNameException
- 如果作为参数传递的字符串格式不正确。
NullPointerException
- 如果 name
参数为 null。public ObjectName(String domain, String key, String value) throws MalformedObjectNameException, NullPointerException
domain
- 对象名的域部分。key
- 对象名键属性中的属性。value
- 对象名键属性中的值。
MalformedObjectNameException
- 如果 domain
、key
或 value
包含非法字符,如果 value
未遵循有关引号使用的规则。
NullPointerException
- 如果某个参数为 null。public ObjectName(String domain, Hashtable table) throws MalformedObjectNameException, NullPointerException
domain
- 对象名的域部分。table
- 包含一个或多个键属性的哈希表。表中每项的键都是对象名中键属性的键。表中的关联值是对象名中的关联值。
MalformedObjectNameException
- 如果 domain
包含非法字符,或者 table
中的某个键或值包含非法字符,或者 table
中的某个值未遵循有关引号使用的规则。
NullPointerException
- 如果某个参数为 null。方法详细信息 |
---|
public static ObjectName getInstance(String name) throws MalformedObjectNameException, NullPointerException
返回 ObjectName 的实例,该 ObjectName 可用于任何使用 new ObjectName(name)
获得的对象可用的地方。返回的对象可以是 ObjectName 的子类。使用相同的参数调用此方法两次可能会返回相同的对象,或者两个相等但是不同的对象。
name
- 对象名的字符串表示形式。
MalformedObjectNameException
- 如果作为参数所传递的字符串格式不正确。
NullPointerException
- 如果 name
参数为 null。public static ObjectName getInstance(String domain, String key, String value) throws MalformedObjectNameException, NullPointerException
返回 ObjectName 的实例,该 ObjectName 可用于任何使用 new ObjectName(domain, key, value)
获得的对象可以使用的地方。返回的对象可以是 ObjectName 的子类。使用相同的参数调用此方法两次可能会返回相同的对象,或者两个相等但是不同的对象。
domain
- 对象名的域部分。key
- 对象名键属性中的属性。value
- 对象名键属性中的值。
MalformedObjectNameException
- 如果 domain
、key
或 value
包含非法字符,如果 value
未遵循有关引号使用的规则。
NullPointerException
- 如果某个参数为 null。public static ObjectName getInstance(String domain, Hashtable table) throws MalformedObjectNameException, NullPointerException
返回 ObjectName 的实例,该 ObjectName 可用于任何使用 new ObjectName(domain, table)
获得的对象可用的地方。返回的对象可以是 ObjectName 的子类。使用相同的参数调用此方法两次可能会返回相同的对象,或者两个相等但是不同的对象。
domain
- 对象名的域部分。table
- 包含一个或多个键属性的哈希表。表中每项的键都是对象名中键属性的键。表中的关联值是对象名中的关联值。
MalformedObjectNameException
- 如果 domain
包含非法字符,或者 table
中的某个键或值包含非法字符,或者 table
中的某个值未遵循有关引号使用的规则。
NullPointerException
- 如果某个参数为 null。public static ObjectName getInstance(ObjectName name) throws NullPointerException
返回 ObjectName 的实例,该 ObjectName 可用于任何可使用给定对象的地方。返回的对象可以是 ObjectName 的子类。如果 name
是 ObjectName 子类的名称,则无法保证返回的对象是同一个类的。
返回的值可能与 name
相同,也可能不相同。使用相同的参数调用此方法两次可能会返回相同的对象,或者两个相等但是不同的对象。
因为 ObjectName 是不可变的,所以制作 ObjectName 的副本通常没有用。此方法的主要用途是为了防止恶意的调用方,它可能向敏感代码中传递具有可疑行为的子类实例。这种代码可以调用此方法来获得一个已知没有可疑行为的 ObjectName。
name
- ObjectName 类或子类的一个实例
name
服从 ObjectName 的语义,则返回的对象等于(尽管不必相同)name
。
NullPointerException
- 如果 name
为 null。public boolean isPattern()
public boolean isDomainPattern()
public boolean isPropertyPattern()
public String getCanonicalName()
返回该名称的规范形式;也就是说,一种字符串表示形式,其中属性按词汇顺序排序。
更准确地说,该名称的规范形式是一个由域部分、冒号 (:
)、规范的键属性列表 和一个模式指示 所组成的 String。
规范的键属性列表 是与 getCanonicalKeyPropertyListString()
所述相同的字符串。
模式指示 是:
,*
)。
public String getDomain()
public String getKeyProperty(String property) throws NullPointerException
property
- 要返回其值的属性。
NullPointerException
- 如果 property
为 null。public Hashtable getKeyPropertyList()
以哈希表的形式返回键属性。返回值是一个哈希表,其中每个键是 ObjectName 的键属性列表中的键,并且每个值都是与键关联的值。
返回值可以是不可修改的。如果是可修改的,则更改它对此 ObjectName 没有影响。
public String getKeyPropertyListString()
返回创建时所指定的键属性列表的字符串表示形式。如果使用构造方法 ObjectName(String)
构造了此 ObjectName,则返回 String 中的键属性顺序与该构造方法参数中的顺序相同。
public String getCanonicalKeyPropertyListString()
String.compareTo(String)
所暗指的顺序。
public String toString()
返回该对象名的字符串表示形式。未指定此字符串的格式,但是当且仅当两个 ObjectName 相等时才会返回相同的字符串。
Object
中的 toString
public boolean equals(Object object)
getCanonicalName()
所描述的字符串。
Object
中的 equals
object
- 要与当前对象名进行比较的对象名。
object
是一个 ObjectName 并且其规范形式与此 ObjectName 的规范形式相同,返回 true。Object.hashCode()
,
Hashtable
public int hashCode()
Object
中的 hashCode
Object.equals(java.lang.Object)
,
Hashtable
public static String quote(String s) throws NullPointerException
返回给定 String 的有引号形式,使之适合于包含在 ObjectName 中。返回的值可用作与 ObjectName 中某个键相关联的值。String s
可包含任何字符。适当使用引号可确保返回的值在 ObjectName 中是合法的。
返回值由引号 ('"')、对应于 s
中的字符 的字符序列和另一个引号所组成。s
中的字符会不加更改地出现在返回值中,但下列内容除外:
S
- 要用引号形式表示的 String。
NullPointerException
- 如果 s
为 null。public static String unquote(String q) throws IllegalArgumentException, NullPointerException
返回给定 String 的无引号形式,如果 q
是 quote(s)
所返回的 String,则 unquote(q).equals(s)
。如果没有满足 quote(s).equals(q)
的 String s
,则 unquote(q) 抛出 IllegalArgumentException。
这些规则意味着在有引号和无引号形式之间存在在一对一的映射关系。
q
- 要用无引号形式表示的 String。
IllegalArgumentException
- 如果不能由 quote(java.lang.String)
方法返回 q
,例如它没有以引号 (") 开始和结束。
NullPointerException
- 如果 q
为 null。public boolean apply(ObjectName name) throws NullPointerException
测试此 ObjectName(可以是一个模式)是否与另一个 ObjectName 匹配。如果 name
是一个模式,则结果是 false。如果此 ObjectName 是一个模式,则当且仅当 name
与该模式匹配时结果才是 true。如果此 ObjectName 和 name
都不是模式,则当且仅当两个 ObjectName 按 equals(Object)
方法的描述相等时结果才是 true。
QueryExp
中的 apply
name
- 要进行比较的 MBean 名。
name
与此 ObjectName 匹配,则返回 true。
NullPointerException
- 如果 name
为 null。public void setMBeanServer(MBeanServer mbs)
QueryExp
复制的描述
QueryExp
中的 setMBeanServer
mbs
- 将在其上执行查询的 MBean 服务器。
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。