モジュール java.naming
パッケージ javax.naming

インタフェースNamingEnumeration<T>

型パラメータ:
T - この列挙によって返される要素のタイプ
すべてのスーパー・インタフェース:
Enumeration<T>

public interface NamingEnumeration<T> extends Enumeration<T>
このインタフェースは、javax.namingおよびjavax.naming.directoryパッケージ内のメソッドによって返されたリストを列挙するために使用されます。 このインタフェースを使用すると、列挙中にEnumerationが例外としてスローされます。

list()、listBindings()、search()などのメソッドがNamingEnumerationを返すと、発生したどの例外もすべての結果が返されるまで保持されます。 列挙の終わりに、例外が(hasMore()によって)スローされます。

たとえば、list()が部分的な回答のみを返している場合は、それに対応する例外はPartialResultExceptionになります。list()は最初にNamingEnumerationを返します。 その結果の最後がNamingEnumerationのnext()で返されたときに、hasMore()を呼び出すとPartialResultExceptionがスローされます。

別の例として、search()メソッドが、サイズを'n'に制限指定して呼び出されたとします。 回答が'n'より多くなった場合、search()は最初にNamingEnumerationを返します。 n番目の結果がNamingEnumerationでnext()を呼び出して返されたときは、hasMore()を呼び出すとSizeLimitExceedExceptionがスローされます。

プログラムでNamingEnumerationを繰り返さずに、hasMoreElements()およびnextElement()を使用すると、これらのメソッドは例外をスローできないため、例外はスローされません。 代わりに、前の例で、n番目の結果がnextElement()によって返されたあとにhasMoreElements()を呼び出すとfalseが返されます。

また、列挙内に要素が残っていない場合は、プログラムでnext()またはnextElement()を呼び出すとNoSuchElementExceptionがスローされます。 プログラムでは、列挙の終わりに到達したかどうかを確認するhasMore()およびhasMoreElements()を使用してこの例外を常に回避できます。

列挙中に例外がスローされると、列挙は無効になります。 列挙上でどのメソッドを次に呼び出しても、結果は保証されません。

導入されたバージョン:
1.3
関連項目: