|
JavaTM Platform Standard Ed. 6 |
|||||||||
전의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
public interface NamingEnumeration<T>
이 인터페이스는, javax.naming 및 javax.naming.directory 패키지내의 메소드에 의해 반환된 리스트를 열거하기 위해서 사용됩니다. 이 인터페이스를 사용하면(자), 열거중에 Enumeration 가 예외로서 throw 됩니다.
list(), listBindings(), search()등의 메소드가 NamingEnumeration 를 돌려주면(자), 발생한 어느 예외도 모든 결과가 돌려주어질 때까지 보관 유지됩니다. 열거의 마지막에, 예외가 (hasMore()에 의해) throw 됩니다.
예를 들어, list()가 부분적인 회답만을 돌려주고 있는 경우는, 거기에 대응하는 예외는 PartialResultException 가 됩니다. list()는 최초로 NamingEnumeration 를 돌려줍니다. 그 결과의 최후가 NamingEnumeration 의 next()로 돌려주어졌을 때에, hasMore()를 호출하면(자) PartialResultException 가 throw 됩니다.
다른 예로서 search() 메소드가, 사이즈를 'n'에 제한 지정해 불려 갔다고 합니다. 회답이 'n'보다 많아졌을 경우, search()는 최초로 NamingEnumeration 를 돌려줍니다. n 번째의 결과가 NamingEnumeration 로 next()를 호출해 돌려주어졌을 때는, hasMore()를 호출하면(자) SizeLimitExceedException 가 throw 됩니다.
프로그램으로 NamingEnumeration 를 반복하지 않고 , hasMoreElements() 및 nextElement()를 사용하면(자), 이러한 메소드는 예외를 throw 할 수 없기 때문에, 예외는 throw 되지 않습니다. 대신에, 전의 예로, n 번째의 결과가 nextElement()에 의해 반환된 뒤에 hasMoreElements()를 호출하면(자) false 가 돌려주어집니다.
또, 열거내에 요소가 남지 않은 경우는, 프로그램으로 next() 또는 nextElement()를 호출하면(자) NoSuchElementException 가 throw 됩니다. 프로그램에서는, 열거의 끝나에 도달했는지의 여부를 확인하는 hasMore() 및 hasMoreElements()를 사용해 이 예외를 항상 회피할 수 있습니다.
열거중에 예외가 throw 되면(자), 열거는 무효가 됩니다. 열거상에서 어느 메소드를 다음에 호출해도, 결과는 보증되지 않습니다.
Context.list(javax.naming.Name)
,
Context.listBindings(javax.naming.Name)
,
DirContext.search(javax.naming.Name, javax.naming.directory.Attributes, java.lang.String[])
,
Attributes.getAll()
,
Attributes.getIDs()
,
Attribute.getAll()
메소드의 개요 | |
---|---|
void |
close ()
이 열거를 닫습니다. |
boolean |
hasMore ()
열거내에 다른 요소가 있을지 어떨지를 판정합니다. |
T |
next ()
열거내의 다음의 요소를 검색합니다. |
인터페이스 java.util. Enumeration 로부터 상속된 메소드 |
---|
hasMoreElements , nextElement |
메소드의 상세 |
---|
T next() throws NamingException
또,next() 는, 실행시 예외 NoSuchElementException 를 throw 해, 호출측이 열거의 최대치를 넘어 열거하려고 하고 있는 것을 표시할 수 있습니다. 이것은, 참조나 서버의 사용 불가등을 (위해)때문에에, 다음의 요소의 취득시에 문제가 발생한 것을 표시하는 NamingException 와는 다릅니다.
NamingException
- 다음의 요소의 취득중에 네이밍 예외가 발견되었을 경우.
발생할 가능성이 있는 네이밍 예외에 대해서는, NamingException 및 그 서브 클래스를 참조
NoSuchElementException
- 사용할 수 있는 요소가 없을 때에 다음의 요소를 취득하려고 하고 있는 경우Enumeration.nextElement()
boolean hasMore() throws NamingException
NamingException
- 열거내에 그 외의 요소가 있을지 어떨지를 판정하고 있는 동안에,
네이밍 예외가 발생했을 경우
발생할 가능성이 있는 네이밍 예외에 대해서는, NamingException 및 그 서브 클래스를 참조Enumeration.hasMoreElements()
void close() throws NamingException
이 메소드는, 열거에 관련하는 자원을 자유롭게 해제할 수 있는 것을 서비스 프로바이더에 나타내, 또 미처리 요구의 취소를 서버에 통지할 수 있습니다. close() 메소드는, 그러한 자원을 관리하는 구현에의 힌트가 됩니다. 클라이언트가 close() 호출을 생략 했을 경우, 구현에서는 자원을 관리하는데 적절한 알고리즘을 사용하는 것을 추천합니다.
NamingException
- 열거를 닫고 있는 동안에,
네이밍 예외가 발생하는 경우
|
JavaTM Platform Standard Ed. 6 |
|||||||||
전의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.