|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectjavax.naming.InitialContext
public class InitialContext
このクラスは、ネーミング操作を実行するための開始コンテキストです。
ネーミング操作はすべて、コンテキストを基準にします。初期コンテキストには Context インタフェースが実装され、名前を解決する開始点が提供されます。
初期コンテキストが構築されると、コンストラクタに渡される環境パラメータ、および任意のアプリケーションリソースファイルで定義されたプロパティによって環境が初期化されます。さらに、システムプロパティまたはアプレットパラメータ (Context.APPLET の使用による) として、少数の標準 JNDI プロパティが指定されることもあります。これらの特別なプロパティは、Context および LdapContext インタフェースドキュメントのフィールド詳細セクションにリスト表示されます。
JNDI では、次の 2 つのソースから値を順にマージして、各プロパティの値が決定されます。
初期コンテキストの実装は、実行時に決定されます。デフォルトのポリシーでは、初期コンテキストファクトリのクラス名を含む、環境プロパティ java.naming.factory.initial が使用されます。このポリシーに対する例外は、以下に説明するように、URL 文字列を解決するときに作成されます。
名前パラメータとして URL 文字列 (scheme_id:rest_of_name 形式の String) がメソッドに渡されると、その方式を処理する URL コンテキストファクトリが検索され、URL の解決に使用されます。このようなファクトリが見つからない場合は、java.naming.factory.initial で指定された初期コンテキストが使用されます。同様に、最初のコンポーネントが URL 文字列の CompositeName オブジェクトが名前パラメータとしてメソッドに渡されると、URL コンテキストファクトリが検索され、最初の名前コンポーネントの解決に使用されます。URL コンテキストファクトリが検索される方法の詳細は、NamingManager.getURLContext() を参照してください。
初期コンテキストおよび URL コンテキストファクトリを検索するデフォルトポリシーは、NamingManager.setInitialContextFactoryBuilder()を呼び出すことでオーバーライドされることがあります。
初期コンテキストをインスタンス化できない場合、NoInitialContextException がスローされます。この例外は、InitialContext の構築時だけではなく、InitialContext と対話する際にスローされます。たとえば、初期コンテキストの実装では、実際のメソッドが呼び出される場合に限りコンテキストが検索される場合もあります。アプリケーションは、初期コンテキストの有無がいつ判別されるかには依存しません。
環境プロパティ java.naming.factory.initial が null 以外の場合、InitialContext コンストラクタではそこに指定した初期コンテキストが作成されます。その時点で問題が発生した場合、関連する初期コンテキストファクトリで例外がスローされます。ただし、いつ検証されるか、および初期のコンテキスト、環境プロパティ (つまり接続) に関する問題がいつユーザに表示されるかは、プロバイダの実装に依存します。コンテキストでオペレーションが実行されるときまで待機する場合も、コンテキスト構築時にすぐに実行する場合もあります。
InitialContext インスタンスは、並行アクセスに対して複数のスレッドでは同期化されません。異なる InitialContext インスタンスを操作する複数スレッドでは、同期化は必要ありません。単一の InitialContext に同時にアクセスする必要のあるスレッドは、それ自体で同期化され、必要なロックを提供する必要があります。
Context,
NamingManager.setInitialContextFactoryBuilder| フィールドの概要 | |
|---|---|
protected Context |
defaultInitCtx
NamingManager.getInitialContext() を呼び出した結果を保持するフィールドです。 |
protected boolean |
gotDefault
初期コンテキストが NamingManager.getInitialContext() の呼び出しによって取得されたかを示すフィールドです。 |
protected Hashtable<Object,Object> |
myProps
この InitialContext に関連した環境です。 |
| インタフェース javax.naming.Context から継承されたフィールド |
|---|
APPLET, AUTHORITATIVE, BATCHSIZE, DNS_URL, INITIAL_CONTEXT_FACTORY, LANGUAGE, OBJECT_FACTORIES, PROVIDER_URL, REFERRAL, SECURITY_AUTHENTICATION, SECURITY_CREDENTIALS, SECURITY_PRINCIPAL, SECURITY_PROTOCOL, STATE_FACTORIES, URL_PKG_PREFIXES |
| コンストラクタの概要 | |
|---|---|
|
InitialContext()
初期コンテキストを構築します。 |
protected |
InitialContext(boolean lazy)
初期化しないオプションを持つ初期化コンテキストを構築します。 |
|
InitialContext(Hashtable<?,?> environment)
指定した環境を使用して初期コンテキストを構築します。 |
| メソッドの概要 | |
|---|---|
Object |
addToEnvironment(String propName,
Object propVal)
このコンテキストの環境に、新しい環境プロパティを追加します。 |
void |
bind(Name name,
Object obj)
名前をオブジェクトにバインドします。 |
void |
bind(String name,
Object obj)
名前をオブジェクトにバインドします。 |
void |
close()
このコンテキストを閉じます。 |
Name |
composeName(Name name,
Name prefix)
このコンテキストを基準にした名前を持つこのコンテキストの名前を変換します。 |
String |
composeName(String name,
String prefix)
このコンテキストを基準にした名前を使用して、このコンテキストの名前を付けます。 |
Context |
createSubcontext(Name name)
新しいコンテキストを作成してバインドします。 |
Context |
createSubcontext(String name)
新しいコンテキストを作成してバインドします。 |
void |
destroySubcontext(Name name)
指定されたコンテキストが破棄され、名前空間から削除されます。 |
void |
destroySubcontext(String name)
名前付きコンテキストを破棄し、名前空間から削除します。 |
protected Context |
getDefaultInitCtx()
NamingManager.getInitialContext() を呼び出して初期コンテキストを取得し、defaultInitCtx でキャッシュに格納します。 |
Hashtable<?,?> |
getEnvironment()
このコンテキストで有効な環境を取得します。 |
String |
getNameInNamespace()
独自の名前空間でこのコンテキストの完全な名前を取得します。 |
NameParser |
getNameParser(Name name)
指定されたコンテキストに関連したパーサを取得します。 |
NameParser |
getNameParser(String name)
名前付きコンテキストに関連したパーサを取得します。 |
protected Context |
getURLOrDefaultInitCtx(Name name)
name を解決するコンテキストを取得します。 |
protected Context |
getURLOrDefaultInitCtx(String name)
文字列名 name を解決するコンテキストを取得します。 |
protected void |
init(Hashtable<?,?> environment)
指定した環境を使用して初期コンテキストを初期化します。 |
NamingEnumeration<NameClassPair> |
list(Name name)
バインドされたオブジェクトのクラス名とともに、指定されたコンテキストでバインドされた名前を列挙します。 |
NamingEnumeration<NameClassPair> |
list(String name)
バインドされたオブジェクトのクラス名とともに、名前付きコンテキストでバインドされた名前を列挙します。 |
NamingEnumeration<Binding> |
listBindings(Name name)
バインドされたオブジェクトとともに、指定されたコンテキストでバインドされた名前を列挙します。 |
NamingEnumeration<Binding> |
listBindings(String name)
バインドされたオブジェクトとともに、名前付きコンテキストでバインドされた名前を列挙します。 |
Object |
lookup(Name name)
指定されたオブジェクトを取得します。 |
Object |
lookup(String name)
名前付きオブジェクトを取得します。 |
Object |
lookupLink(Name name)
名前の終端の基本コンポーネントを除くリンクをともなう、指定されたオブジェクトを取得します。 |
Object |
lookupLink(String name)
名前の終端の基本コンポーネントを除くリンクをともなう、名前付きオブジェクトを取得します。 |
void |
rebind(Name name,
Object obj)
名前をオブジェクトにバインドし、既存のバインディングを上書きします。 |
void |
rebind(String name,
Object obj)
名前をオブジェクトにバインドして、既存のバインディングを上書きします。 |
Object |
removeFromEnvironment(String propName)
このコンテキストの環境から環境プロパティを削除します。 |
void |
rename(Name oldName,
Name newName)
新しい名前を、以前の名前にバインドされたオブジェクトにバインドし、以前の名前をアンバインドします。 |
void |
rename(String oldName,
String newName)
新しい名前を、以前の名前にバインドされたオブジェクトにバインドし、以前の名前をアンバインドします。 |
void |
unbind(Name name)
指定されたオブジェクトをアンバインドします。 |
void |
unbind(String name)
名前付きオブジェクトをアンバインドします。 |
| クラス java.lang.Object から継承されたメソッド |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| フィールドの詳細 |
|---|
protected Hashtable<Object,Object> myProps
addToEnvironment(java.lang.String, java.lang.Object),
removeFromEnvironment(java.lang.String),
getEnvironment()protected Context defaultInitCtx
getDefaultInitCtx()protected boolean gotDefault
defaultInitCtx にあります。
| コンストラクタの詳細 |
|---|
protected InitialContext(boolean lazy)
throws NamingException
lazy - true は、初期コンテキストが初期化されないことを示す。false は new InitialContext() を呼び出すのと同じ
NamingException - ネーミング例外が発生した場合init(Hashtable)
public InitialContext()
throws NamingException
NamingException - ネーミング例外が発生した場合InitialContext(Hashtable)
public InitialContext(Hashtable<?,?> environment)
throws NamingException
このコンストラクタでは、environment の変更または参照の保存は行われませんが、複製が保存されます。
environment - 初期コンテキストの作成に使用される環境。null は空の環境を示す
NamingException - ネーミング例外が発生した場合| メソッドの詳細 |
|---|
protected void init(Hashtable<?,?> environment)
throws NamingException
このメソッドでは environment が変更され、参照が保存されます。呼び出し側では変更されません。
environment - 初期コンテキストの作成に使用される環境。null は空の環境を示す
NamingException - ネーミング例外が発生した場合InitialContext(boolean)
protected Context getDefaultInitCtx()
throws NamingException
NamingManager.getInitialContext() を呼び出して初期コンテキストを取得し、defaultInitCtx でキャッシュに格納します。以前に実行したことがわかるように gotDefault を設定します。
NoInitialContextException - 初期コンテキストが見つからない場合
NamingException - ネーミング例外が見つかった場合
protected Context getURLOrDefaultInitCtx(String name)
throws NamingException
name を解決するコンテキストを取得します。name 名が URL 文字列の場合は、URL コンテキストを検索します。見つからなかった場合、または name が URL 文字列ではない場合は、getDefaultInitCtx() が返されます。サブクラスでこのメソッドがどのように使用されるかは、getURLOrDefaultInitCtx(Name) の説明を参照してください。
name - コンテキストの取得対象となる null 以外の名前
name またはキャッシュ済み初期コンテキストの URL コンテキスト。結果は null ではない
NoInitialContextException - 初期コンテキストが見つからない場合
NamingException - ネーミング例外が見つかった場合NamingManager.getURLContext(java.lang.String, java.util.Hashtable, ?>)
protected Context getURLOrDefaultInitCtx(Name name)
throws NamingException
name を解決するコンテキストを取得します。name 名の最初のコンポーネントが URL 文字列の場合は、URL コンテキストを検索します。見つからなかった場合、または name の最初のコンポーネントが URL 文字列ではない場合は、getDefaultInitCtx() が返されます。InitialContext のサブクラスを作成するときは、次のようにしてこのメソッドを使用します。このメソッドを使用する新しいメソッドを定義し、必要なサブクラスの初期コンテキストを取得します。
protected XXXContext getURLOrDefaultInitXXXCtx(Name name) throws NamingException { Context answer = getURLOrDefaultInitCtx(name); if (!(answer instanceof XXXContext)) { if (answer == null) { throw new NoInitialContextException(); } else { throw new NotContextException("Not an XXXContext"); } } return (XXXContext)answer; } サブクラスの新しいメソッドに実装を指定する場合は、この新しく定義されたメソッドを使用して、初期コンテキストを取得します。
public Object XXXMethod1(Name name, ...) { throws NamingException { return getURLOrDefaultInitXXXCtx(name).XXXMethod1(name, ...); }
name - コンテキストの取得対象となる null 以外の名前
name またはキャッシュ済み初期コンテキストの URL コンテキスト。結果は null ではない
NoInitialContextException - 初期コンテキストが見つからない場合
NamingException - ネーミング例外が見つかった場合NamingManager.getURLContext(java.lang.String, java.util.Hashtable, ?>)
public Object lookup(String name)
throws NamingException
Context の記述: Context.lookup(Name) を参照してください。
Context 内の lookupname - 検索するオブジェクトの名前
NamingException - ネーミング例外が発生した場合
public Object lookup(Name name)
throws NamingException
Context の記述:
Context 内の lookupname - 検索するオブジェクトの名前
NamingException - ネーミング例外が発生した場合Context.lookup(String),
Context.lookupLink(Name)
public void bind(String name,
Object obj)
throws NamingException
Context の記述: Context.bind(Name, Object) を参照してください。
Context 内の bindname - 空ではないバインドされる名前obj - null の可能性があるバインドされるオブジェクト
NameAlreadyBoundException - 名前がすでにバインドされている場合
InvalidAttributesException - オブジェクトにすべての必須属性が指定されていない場合
NamingException - ネーミング例外が発生した場合
public void bind(Name name,
Object obj)
throws NamingException
Context の記述:
Context 内の bindname - 空ではないバインドされる名前obj - null の可能性があるバインドされるオブジェクト
NameAlreadyBoundException - 名前がすでにバインドされている場合
InvalidAttributesException - オブジェクトにすべての必須属性が指定されていない場合
NamingException - ネーミング例外が発生した場合Context.bind(String, Object),
Context.rebind(Name, Object),
DirContext.bind(Name, Object, javax.naming.directory.Attributes)
public void rebind(String name,
Object obj)
throws NamingException
Context の記述: Context.rebind(Name, Object) を参照してください。
Context 内の rebindname - 空ではないバインドされる名前obj - null の可能性があるバインドされるオブジェクト
InvalidAttributesException - オブジェクトにすべての必須属性が指定されていない場合
NamingException - ネーミング例外が発生した場合
public void rebind(Name name,
Object obj)
throws NamingException
Context の記述: オブジェクトが DirContext の場合、名前に関連付けられた既存の属性が、オブジェクトの属性と置換されます。置換されない場合、名前に関連付けられた既存の属性は、変更されないままです。
Context 内の rebindname - 空ではないバインドされる名前obj - null の可能性があるバインドされるオブジェクト
InvalidAttributesException - オブジェクトにすべての必須属性が指定されていない場合
NamingException - ネーミング例外が発生した場合Context.rebind(String, Object),
Context.bind(Name, Object),
DirContext.rebind(Name, Object, javax.naming.directory.Attributes),
DirContext
public void unbind(String name)
throws NamingException
Context の記述: Context.unbind(Name) を参照してください。
Context 内の unbindname - アンバインドする名前。空は不可
NameNotFoundException - 中間コンテキストが存在しない場合
NamingException - ネーミング例外が発生した場合
public void unbind(Name name)
throws NamingException
Context の記述: name の終端の基本部分以外のすべてによって名付けられたターゲットコンテキストから、name の終端の基本名を削除します。
このメソッドは、べき等です。終端の基本名がターゲットコンテキストでバインドされていない場合でも、成功します。ただし、中間コンテキストが存在しない場合は、NameNotFoundException がスローされます。
名前に関連付けられた属性が削除されます。中間コンテキストは変更されません。
Context 内の unbindname - アンバインドする名前。空は不可
NameNotFoundException - 中間コンテキストが存在しない場合
NamingException - ネーミング例外が発生した場合Context.unbind(String)
public void rename(String oldName,
String newName)
throws NamingException
Context の記述: Context.rename(Name, Name) を参照してください。
Context 内の renameoldName - 既存のバインディングの名前。空は不可newName - 新しいバインディングの名前。空は不可
NameAlreadyBoundException - newName がすでにバインドされている場合
NamingException - ネーミング例外が発生した場合
public void rename(Name oldName,
Name newName)
throws NamingException
Context の記述:
Context 内の renameoldName - 既存のバインディングの名前。空は不可newName - 新しいバインディングの名前。空は不可
NameAlreadyBoundException - newName がすでにバインドされている場合
NamingException - ネーミング例外が発生した場合Context.rename(String, String),
Context.bind(Name, Object),
Context.rebind(Name, Object)
public NamingEnumeration<NameClassPair> list(String name)
throws NamingException
Context の記述: Context.list(Name) を参照してください。
Context 内の listname - リスト表示するコンテキストの名前
NamingException - ネーミング例外が発生した場合
public NamingEnumeration<NameClassPair> list(Name name)
throws NamingException
Context の記述: このコンテキストにバインディングが追加されるか、またはこのコンテキストからバインディングが削除される場合、以前に返された列挙への影響は定義されていません。
Context 内の listname - リスト表示するコンテキストの名前
NamingException - ネーミング例外が発生した場合Context.list(String),
Context.listBindings(Name),
NameClassPair
public NamingEnumeration<Binding> listBindings(String name)
throws NamingException
Context の記述: Context.listBindings(Name) を参照してください。
Context 内の listBindingsname - リスト表示するコンテキストの名前
NamingException - ネーミング例外が発生した場合
public NamingEnumeration<Binding> listBindings(Name name)
throws NamingException
Context の記述: このコンテキストにバインディングが追加されるか、またはこのコンテキストからバインディングが削除される場合、以前に返された列挙への影響は定義されていません。
Context 内の listBindingsname - リスト表示するコンテキストの名前
NamingException - ネーミング例外が発生した場合Context.listBindings(String),
Context.list(Name),
Binding
public void destroySubcontext(String name)
throws NamingException
Context の記述: Context.destroySubcontext(Name) を参照してください。
Context 内の destroySubcontextname - 破棄されるコンテキストの名前。空は不可
NameNotFoundException - 中間コンテキストが存在しない場合
NotContextException - 名前がバインドされているがコンテキストの名前がない、または該当する型のコンテキストの名前がない場合
ContextNotEmptyException - 指定されたコンテキストが空ではない場合
NamingException - ネーミング例外が発生した場合
public void destroySubcontext(Name name)
throws NamingException
Context の記述: このメソッドは、べき等です。終端の基本名がターゲットコンテキストでバインドされていない場合でも、成功します。ただし、中間コンテキストが存在しない場合は、NameNotFoundException がスローされます。
連合ネーミングシステムでは、1 つのネーミングシステムからのコンテキストが別のネーミングシステムの名前にバインドされます。そのあと、合成名を使用して外部コンテキストのオペレーションを検索および実行できます。ただし、外部コンテキストはバインドされたコンテキストのサブコンテキストではないため、この合成名を使用してコンテキストを破棄しようとすると、NotContextException で失敗します。代わりに、unbind() を使用して、外部コンテキストのバインディングを削除します。外部コンテキストを破棄するには、外部コンテキストの「ネイティブな」ネーミングシステムからコンテキストで destroySubcontext() を実行する必要があります。
Context 内の destroySubcontextname - 破棄されるコンテキストの名前。空は不可
NameNotFoundException - 中間コンテキストが存在しない場合
NotContextException - 名前がバインドされているがコンテキストの名前がない、または該当する型のコンテキストの名前がない場合
ContextNotEmptyException - 指定されたコンテキストが空ではない場合
NamingException - ネーミング例外が発生した場合Context.destroySubcontext(String)
public Context createSubcontext(String name)
throws NamingException
Context の記述: Context.createSubcontext(Name) を参照してください。
Context 内の createSubcontextname - 空ではない作成されるコンテキストの名前
NameAlreadyBoundException - 名前がすでにバインドされている場合
InvalidAttributesException - サブコンテキストの作成に、必須属性の指定が必要な場合
NamingException - ネーミング例外が発生した場合
public Context createSubcontext(Name name)
throws NamingException
Context の記述:
Context 内の createSubcontextname - 空ではない作成されるコンテキストの名前
NameAlreadyBoundException - 名前がすでにバインドされている場合
InvalidAttributesException - サブコンテキストの作成に、必須属性の指定が必要な場合
NamingException - ネーミング例外が発生した場合Context.createSubcontext(String),
DirContext.createSubcontext(javax.naming.Name, javax.naming.directory.Attributes)
public Object lookupLink(String name)
throws NamingException
Context の記述: Context.lookupLink(Name) を参照してください。
Context 内の lookupLinkname - 検索するオブジェクトの名前
NamingException - ネーミング例外が発生した場合
public Object lookupLink(Name name)
throws NamingException
Context の記述:
Context 内の lookupLinkname - 検索するオブジェクトの名前
NamingException - ネーミング例外が発生した場合Context.lookupLink(String)
public NameParser getNameParser(String name)
throws NamingException
Context の記述: Context.getNameParser(Name) を参照してください。
Context 内の getNameParsername - パーサの取得元のコンテキストの名前
NamingException - ネーミング例外が発生した場合
public NameParser getNameParser(Name name)
throws NamingException
Context の記述:
Context 内の getNameParsername - パーサの取得元のコンテキストの名前
NamingException - ネーミング例外が発生した場合Context.getNameParser(String),
CompoundName
public String composeName(String name,
String prefix)
throws NamingException
Context 内の composeNamename - このコンテキストに関連した名前prefix - 上位コンテキストの 1 つに関連したこのコンテキストの名前
prefix および name の変換
NamingException - ネーミング例外が発生した場合
public Name composeName(Name name,
Name prefix)
throws NamingException
Context 内の composeNamename - このコンテキストに関連した名前prefix - 上位コンテキストの 1 つに関連したこのコンテキストの名前
prefix および name の変換
NamingException - ネーミング例外が発生した場合Context.composeName(String, String)
public Object addToEnvironment(String propName,
Object propVal)
throws NamingException
Context の記述:
Context 内の addToEnvironmentpropName - 追加する環境プロパティの名前。null 以外propVal - 追加するプロパティの値。null 以外
NamingException - ネーミング例外が発生した場合Context.getEnvironment(),
Context.removeFromEnvironment(String)
public Object removeFromEnvironment(String propName)
throws NamingException
Context の記述:
Context 内の removeFromEnvironmentpropName - 削除する環境プロパティの名前。null 以外
NamingException - ネーミング例外が発生した場合Context.getEnvironment(),
Context.addToEnvironment(String, Object)
public Hashtable<?,?> getEnvironment()
throws NamingException
Context の記述: 呼び出し側は、返されるオブジェクトを変更できません。コンテキストに対する効果は定義されていません。このコンテキストの環境は、addToEnvironment() および removeFromEnvironment() によって変更されることがあります。
Context 内の getEnvironmentNamingException - ネーミング例外が発生した場合Context.addToEnvironment(String, Object),
Context.removeFromEnvironment(String)
public void close()
throws NamingException
Context の記述: このメソッドは、べき等です。すでに閉じられたコンテキストでこのメソッドを呼び出しても、効果はありません。閉じられたコンテキストでほかのメソッドを呼び出すことはできません。結果は未定義の動作になります。
Context 内の closeNamingException - ネーミング例外が発生した場合
public String getNameInNamespace()
throws NamingException
Context の記述: 多くのネーミングサービスには、各名前空間のオブジェクトに対する「完全な名前」の概念があります。たとえば、LDAP エントリには識別名があり、DNS レコードには完全修飾名があります。このメソッドによって、クライアントアプリケーションでこの名前を取得できます。このメソッドで返される文字列は、JNDI 合成名ではなく、コンテキストメソッドに直接渡すことはできません。完全な名前の概念が意味を持たないネーミングシステムでは、OperationNotSupportedException がスローされます。
Context 内の getNameInNamespaceOperationNotSupportedException - ネーミングシステムに完全な名前の概念がない場合
NamingException - ネーミング例外が発生した場合
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。