|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object javax.management.ObjectName
public class ObjectName
MBean のオブジェクト名、または複数の MBean 名に一致するパターンを表します。このクラスのインスタンスは不変です。
このクラスのインスタンスを使って、次の項目を表現することができます。
オブジェクト名は、ドメインの部分とキーのプロパティの部分から成ります。
「ドメイン」は、コロン (:
) を含まない文字列です。
ドメインにワイルドカード文字のアスタリスク (*
) や疑問符 (?
) が含まれている場合、オブジェクト名はパターンです。アスタリスクは、0 個以上の文字列を表します。疑問符は単一の文字を表します。
ドメインが空の場合、この部分は、ObjectName を使用する MBean サーバの「デフォルトドメイン」で置き換えられる場合があります。
「キーのプロパティ」は、キーとその値のセットです。これらの並び順はばらばらです。
個々の「キー」は、空文字列以外の文字列で、コンマ (,
)、等号 (=
)、コロン、アスタリスク、疑問符などを含めることはできません。また、特定の ObjectName 内に同じキーを重複して含めることはできません。
キー 1 個につき、「値」が 1 個ずつ割り当てられます。この値は、引用符で囲まれた文字列か、引用符で囲まれていない文字列です。
「引用符で囲まれていない値」は、空文字列の可能性があります。この文字列には、コンマ、等号、コロン、引用符、アスタリスク、疑問符などを含めることはできません。
「引用符で囲まれた値」は、二重引用符 ("
) で囲まれた空文字列の可能性があります。文字列内のバックスラッシュ (\
) には特別な意味があります。バックスラッシュの後ろには、次のいずれかの文字が続きます。
引用符で囲まれた値の内側に、引用符、疑問符、アスタリスクを挿入することはできません。ただし、奇数個のバックスラッシュの直後では挿入可能です。
引用符で囲まれた値の引用符部分と、その値の内側のバックスラッシュは、値の一部と見なされます。
ObjectName は、0 個以上のキーと値の組み合わせを持つ場合、「プロパティパターン」になります。ドメインが一致し、同一のキーと値の組み合わせを持つ (その他のキーと値が存在していてもよい)、パターンではない ObjectName に一致します。
ObjectName は、ドメインにワイルドカードが含まれるか、ObjectName がプロパティパターンの場合、パターンになります。
ObjectName がパターンでない場合、キーの値の組み合わせを 1 つ以上持っている必要があります。
ObjectName は、順に、次の要素を持つ String として書き込み可能です。
:
)String として書き込まれたキーのプロパティリストは、コンマ区切り形式の要素リストになります。各要素は、アスタリスクかキーのプロパティです。キーのプロパティは、キー、等号 (=
)、値から成ります。
キーのプロパティリストの要素として、最大 1 個のアスタリスクを含めることができます。キーのプロパティリストにアスタリスク要素が含まれる場合、ObjectName はプロパティパターンになります。
ObjectName を表す String 内の空白文字に、特別な意味はありません。たとえば、次の String について考えてみましょう。
domain: key1 = value1 , key2 = value2この String は、2 つのキーを持つ ObjectName を表します。キーの名前は、それぞれ 6 文字 (最初と最後の文字は空白文字) です。キーの値
" key1 "
の前後にも空白文字が入っています。
上記の文字制約のほか、引用符で囲まれているかどうかを問わず、ObjectName のどの部分 (ドメイン部分、キー部分、値部分) にも、復帰改行文字 ('\n'
) を含めることはできないという制約があります。ただし、\n
付きの引用符で囲まれた値には、復帰改行文字を含めることができます。
特殊文字と引用符の使用方法に関する規則は、ObjectName の作成に使用するコンストラクタの種類を問わず適用されます。
異なった複数のベンダーから提供された MBean の衝突を避けるためには、MBean を指定する組織の逆 DNS 名、ピリオド、その組織によって解釈が決定される文字列から成るドメイン名を付けるとよいでしょう。たとえば、Sun Microsystems Inc. 指定の MBean の場合、DNS 名 sun.com
のドメインは com.sun.MyDomain
のようになります。これは、Java 言語パッケージ名の規則と基本的に同じです。
コンストラクタの概要 | |
---|---|
ObjectName(String name)
文字列を指定してオブジェクト名を作成します。 |
|
ObjectName(String domain,
Hashtable table)
Hashtable から、キーのプロパティを複数持つオブジェクト名を作成します。 |
|
ObjectName(String domain,
String key,
String value)
キーのプロパティを 1 つだけ持つオブジェクト名を作成します。 |
メソッドの概要 | |
---|---|
boolean |
apply(ObjectName name)
この ObjectName (パターンの可能性がある) が別の ObjectName と一致するかどうかをテストします。 |
boolean |
equals(Object object)
現在のオブジェクト名と別のオブジェクト名を比較します。 |
String |
getCanonicalKeyPropertyListString()
字句順に並べられたキーのプロパティリストの文字列表現を返します。 |
String |
getCanonicalName()
正規形式の名前、すなわちプロパティを字句順 (lexical order) に並べた文字列表現を返します。 |
String |
getDomain()
ドメイン部分を返します。 |
static ObjectName |
getInstance(ObjectName name)
指定されたオブジェクトを使用できる任意の場所で使用可能な ObjectName のインスタンスを返します。 |
static ObjectName |
getInstance(String name)
新しい ObjectName(name) で取得されたオブジェクトを使用できる任意の場所で使用可能な ObjectName のインスタンスを返します。 |
static ObjectName |
getInstance(String domain,
Hashtable table)
新しい ObjectName(domain, table) で取得されたオブジェクトを使用できる任意の場所で使用可能な ObjectName のインスタンスを返します。 |
static ObjectName |
getInstance(String domain,
String key,
String value)
新しい ObjectName(domain, key, value) で取得されたオブジェクトを使用できる任意の場所で使用可能な ObjectName のインスタンスを返します。 |
String |
getKeyProperty(String property)
キーのプロパティのキー部分に関連付けられた値を取得します。 |
Hashtable |
getKeyPropertyList()
キーのプロパティを Hashtable として返します。 |
String |
getKeyPropertyListString()
作成時に指定した、キーのプロパティのリストの文字列表現を返します。 |
int |
hashCode()
このオブジェクト名のハッシュコードを返します。 |
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 を引用符で囲まない形式で返します。 |
クラス java.lang.Object から継承されたメソッド |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
コンストラクタの詳細 |
---|
public ObjectName(String name) throws MalformedObjectNameException, NullPointerException
name
- オブジェクト名の文字列表現
MalformedObjectNameException
- パラメータとして渡された文字列の形式が正しくない場合
NullPointerException
- name
パラメータは nullpublic 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
- キーのプロパティを 1 つ以上含むハッシュテーブル。テーブル内の個々のキーのエントリは、オブジェクト名を構成するキーのプロパティのキー部分。テーブル内の関連する値は、オブジェクト名を構成するキーの値の部分
MalformedObjectNameException
- domain
に不正な文字が含まれる場合、table
内のキーまたは値に不正な文字が含まれる場合、table
内に引用符の使用規則に従っていない値がある場合
NullPointerException
- いずれかのパラメータが null の場合メソッドの詳細 |
---|
public static ObjectName getInstance(String name) throws MalformedObjectNameException, NullPointerException
新しい ObjectName(name)
で取得されたオブジェクトを使用できる任意の場所で使用可能な ObjectName のインスタンスを返します。返されるオブジェクトは、ObjectName のサブクラスの可能性があります。同じパラメータを指定してこのメソッドを 2 回呼び出した場合、同じオブジェクトが返されるか、2 つの同等の (同一ではない) オブジェクトが返される可能性があります。
name
- オブジェクト名の文字列表現
MalformedObjectNameException
- パラメータとして渡された文字列の形式が正しくない場合
NullPointerException
- name
パラメータは nullpublic static ObjectName getInstance(String domain, String key, String value) throws MalformedObjectNameException, NullPointerException
新しい ObjectName(domain, key, value)
で取得されたオブジェクトを使用できる任意の場所で使用可能な ObjectName のインスタンスを返します。返されるオブジェクトは、ObjectName のサブクラスの可能性があります。同じパラメータを指定してこのメソッドを 2 回呼び出した場合、同じオブジェクトが返されるか、2 つの同等の (同一ではない) オブジェクトが返される可能性があります。
domain
- オブジェクト名のドメイン部分key
- オブジェクト名のキーのプロパティに含まれる属性value
- オブジェクト名のキーのプロパティに含まれる値
MalformedObjectNameException
- domain
、key
、または value
に不正な文字が含まれる場合、または value
が引用符の使用規則に従っていない場合
NullPointerException
- いずれかのパラメータが null の場合public static ObjectName getInstance(String domain, Hashtable table) throws MalformedObjectNameException, NullPointerException
新しい ObjectName(domain, table)
で取得されたオブジェクトを使用できる任意の場所で使用可能な ObjectName のインスタンスを返します。返されるオブジェクトは、ObjectName のサブクラスの可能性があります。同じパラメータを指定してこのメソッドを 2 回呼び出した場合、同じオブジェクトが返されるか、2 つの同等の (同一ではない) オブジェクトが返される可能性があります。
domain
- オブジェクト名のドメイン部分table
- キーのプロパティを 1 つ以上含むハッシュテーブル。テーブル内の個々のキーのエントリは、オブジェクト名を構成するキーのプロパティのキー部分。テーブル内の関連する値は、オブジェクト名を構成するキーの値の部分
MalformedObjectNameException
- domain
に不正な文字が含まれる場合、table
内のキーまたは値に不正な文字が含まれる場合、table
内に引用符の使用規則に従っていない値がある場合
NullPointerException
- いずれかのパラメータが null の場合public static ObjectName getInstance(ObjectName name) throws NullPointerException
指定されたオブジェクトを使用できる任意の場所で使用可能な ObjectName のインスタンスを返します。返されるオブジェクトは、ObjectName のサブクラスの可能性があります。name
が ObjectName のサブクラスである場合、同じクラスのオブジェクトが返されるとは限りません。
戻り値は name
と同一とは限りません。同じパラメータを指定してこのメソッドを 2 回呼び出した場合、同じオブジェクトが返されるか、2 つの同等の (同一ではない) オブジェクトが返される可能性があります。
ObjectName は不変なので、ObjectName のコピーの作成に適していない場合もあります。このメソッドは主に、悪意を持った呼び出しを防止するために使用されます。たとえば、重要なコードに予想外の動作をするサブクラスのインスタンスを渡そうとする呼び出しは、回避されなければなりません。重要なコードは、このメソッドを呼び出すことにより、正しく動作することがわかっている ObjectName を取得できます。
name
- ObjectName クラスのインスタンスまたはサブクラスのインスタンス
name
が ObjectName のセマンティクスを尊重する場合、name
と同等の (ただし同一であるとは限らない) オブジェクトが返される
NullPointerException
- name
が null の場合public boolean isPattern()
public boolean isDomainPattern()
public boolean isPropertyPattern()
public String getCanonicalName()
正規形式の名前、すなわちプロパティを字句順 (lexical order) に並べた文字列表現を返します。
正確には、ドメイン部分、コロン (:
)、字句順のキーのプロパティリスト、パターン表示から成る String を「正規形式の名前」と呼びます。
キーのプロパティの正規リストは、getCanonicalKeyPropertyListString()
の説明と同じ文字列です。
パターン表示は、次のいずれかになります。
,*
)
public String getDomain()
public String getKeyProperty(String property) throws NullPointerException
property
- プロパティ。このプロパティの値が取得される
NullPointerException
- property
が null の場合public Hashtable getKeyPropertyList()
キーのプロパティを Hashtable として返します。戻り値は Hashtable です。このテーブル内の個々のキーは、ObjectName のキーのプロパティリストのキーに一致しています。また、テーブル内の値は、キーに関連付けられた値に一致しています。
戻り値は変更できません。変更を加えても、この ObjectName に影響はありません。
public String getKeyPropertyListString()
作成時に指定した、キーのプロパティのリストの文字列表現を返します。この ObjectName がコンストラクタ ObjectName(String)
で作成された場合、返される String 内のキーのプロパティは、コンストラクタの引数と指定順で並べられます。
public String getCanonicalKeyPropertyListString()
String.compareTo(String)
によって示される順序です。
public String toString()
オブジェクト名の文字列表現を返します。この文字列の形式は指定されていませんが、2 つの ObjectName が等しい場合にのみ、同一の文字列が返されます。
Object
内の toString
public boolean equals(Object object)
getCanonicalName()
に説明された文字列です。
Object
内の equals
object
- 現在のオブジェクト名と比較するオブジェクト名
object
が ObjectName で、その正規形式がこの ObjectName の正規形式に等しい場合は trueObject.hashCode()
,
Hashtable
public int hashCode()
Object
内の hashCode
Object.equals(java.lang.Object)
,
Hashtable
public static String quote(String s) throws NullPointerException
指定された String を、ObjectName に含めやすいように引用符で囲んだ値を返します。戻り値は、ObjectNmae 内のキーの値として使用できます。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 をスローします。
これらの規則は、引用符で囲まれた形式と囲まれていない形式が 1 対 1 で対応していることを意味しています。
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
もパターンではなく、2 つの ObjectNames が 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 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。