Spec-Zone .ru
спецификации, руководства, описания, API
|
public interface NamingEnumeration<T> extends Enumeration<T>
Когда метод, такой как список (), listBindings (), или поиск () возвращает NamingEnumeration, любые исключения, с которыми встречаются, резервируются, пока все результаты не были возвращены. В конце перечисления исключение выдается (hasMore ());
Например, если бы список () дает только частичный ответ, соответствующее исключение было бы списком PartialResultException (), сначала возвратит NamingEnumeration. Когда последний из результатов был возвращен следующим NamingEnumeration (), вызывая hasMore () приведет к бросаемому PartialResultException.
В другом примере, если поиск () метод был вызван с указанным пределом размера 'n'. Если бы ответ состоит из больше чем результатов 'n', поиск () сначала возвратил бы NamingEnumeration. Когда результат n'th был возвращен, вызывая затем () на NamingEnumeration, SizeLimitExceedException будет тогда брошенный, когда hasMore () вызывается.
Отметьте, что, если программа использует hasMoreElements () и nextElement () вместо этого, чтобы выполнить итерации через NamingEnumeration, потому что эти методы не могут выдать исключения, никакое исключение не будет выдано. Вместо этого в предыдущем примере, после того, как результат n'th был возвращен nextElement (), вызывая hasMoreElements () возвратит false.
Отметьте также, что NoSuchElementException бросается, если программа вызывает затем () или nextElement (), когда нет никаких элементов, оставленных в перечислении. Программа может всегда избегать этого исключения при использовании hasMore () и hasMoreElements (), чтобы проверить, был ли конец перечисления достигнут.
Если исключение выдается во время перечисления, перечисление становится недопустимым. Последующий вызов любого метода на том перечислении приведет к неопределенным результатам.
Модификатор и Тип | Метод и Описание |
---|---|
void |
close()
Завершения это перечисление.
|
boolean |
hasMore()
Определяет, есть ли больше элементы в перечислении.
|
T |
next()
Получает следующий элемент в перечислении.
|
hasMoreElements, nextElement
T next() throws NamingException
Отметьте, что next() может также бросить исключение на этапе выполнения NoSuchElementException, чтобы указать, что вызывающая сторона пытается перечислить вне конца перечисления. Это отличается от NamingException, который указывает, что была проблема в получении следующего элемента, например, из-за отсылки или недоступности сервера, и т.д.
NamingException
- Если с исключением именования встречаются, пытаясь получить следующий элемент. См. NamingException и его подклассы для возможных исключений именования.NoSuchElementException
- Пытаясь получить следующий элемент, когда ни один не доступен.Enumeration.nextElement()
boolean hasMore() throws NamingException
NamingException
- Если с исключением именования встречаются, пытаясь определить, есть ли другой элемент в перечислении. См. NamingException и его подклассы для возможных исключений именования.Enumeration.hasMoreElements()
void close() throws NamingException
Этот метод указывает поставщику услуг, что это свободно высвободить средства, связанные с перечислением, и может уведомить серверы, чтобы отменить любые выдающиеся запросы. Метод close() является подсказкой к реализациям для того, чтобы управлять их ресурсами. Реализации поощряются использовать соответствующие алгоритмы, чтобы управлять их ресурсами, когда клиент опускает вызовы close().
NamingException
- Если с исключением именования встречаются, закрывая перечисление.
Для дальнейшей ссылки API и документации разработчика, см.
Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.