Интерфейс Context
- Все известные подинтерфейсы:
DirContext, EventContext, EventDirContext, LdapContext
- Все известные классы, реализующие интерфейс:
InitialContext, InitialDirContext, InitialLdapContext
public interface Context
Имена
Каждое имя, передаваемое в качестве аргумента методуContext, является относительным к этому контексту. Пустое имя используется для обозначения самого контекста. Параметр имени никогда не может быть null. Большинство методов имеют перегруженные версии: одна принимает параметр Name, а другая — String. Эти перегруженные версии эквивалентны: если параметры Name и String являются лишь разными представлениями одного и того же имени, то перегруженные версии одних и тех же методов ведут себя одинаково. В приведенных ниже описаниях методов полностью документирована только одна версия. Для второй версии приведена ссылка на первую: к обеим версиям относится одна и та же документация.
В системах, поддерживающих федерацию, аргументы-имена String методов Context являются составными именами. Аргументы-имена, являющиеся экземплярами CompositeName, рассматриваются как составные имена, тогда как аргументы Name, не являющиеся экземплярами CompositeName, рассматриваются как составные части имен (которые могут быть экземплярами CompoundName или других реализаций составных частей имен). Это позволяет использовать результаты NameParser.parse() в качестве аргументов методов Context. До JNDI 1.2 все аргументы-имена рассматривались как составные имена.
Кроме того, в системах, поддерживающих федерацию, все имена, возвращаемые в NamingEnumeration методами list() и listBindings(), являются составными именами, представленными в виде строк. Синтаксис строкового представления имен см. в CompositeName.
В системах, не поддерживающих федерацию, аргументы-имена (в форме Name или String) и имена, возвращаемые в NamingEnumeration, могут быть именами в собственном пространстве имен, а не именами в составном пространстве имен, на усмотрение поставщика службы.
Исключения
Все методы этого интерфейса могут выбрасыватьNamingException или любой из его подклассов. Подробные сведения о каждом исключении см. в NamingException и его подклассах. Параллельный доступ
Экземпляр Context не гарантирует синхронизацию при одновременном доступе из нескольких потоков. Потоки, которым требуется одновременно обращаться к одному экземпляру Context, должны синхронизироваться между собой и обеспечить необходимую блокировку. Нескольким потокам, работающим с разными экземплярами Context, синхронизация не требуется. Обратите внимание, что методlookup, которому передано пустое имя, возвращает новый экземпляр Context, представляющий тот же контекст именования. В целях управления параллельным доступом операция Context, возвращающая NamingEnumeration, не считается завершенной, пока перечисление используется или пока продолжается обработка переадресаций, созданных этой операцией.
Параметры
ПараметрName, переданный любому методу интерфейса Context или одного из его подинтерфейсов, не будет изменен поставщиком службы. Поставщик службы может хранить ссылку на него в течение всего времени выполнения операции, включая перечисление результатов метода и обработку созданных переадресаций. Вызывающий код не должен изменять объект в это время. Объект Name, возвращаемый любым таким методом, принадлежит вызывающему коду. Впоследствии вызывающий код может изменить его; поставщику службы это не разрешается. Свойства среды
Приложениям JNDI необходим способ передачи различных предпочтений и свойств, определяющих среду, в которой осуществляется доступ к службам именования и каталогов. Например, для доступа к службе контексту может потребоваться указать учетные данные безопасности. Другой контекст может требовать предоставления сведений о конфигурации сервера. Все это называется средой контекста. Интерфейс Context предоставляет методы для получения и обновления этой среды.
Среда наследуется от родительского контекста по мере перехода методов контекста от одного контекста к другому. Изменения среды одного контекста напрямую не влияют на среду других контекстов.
Момент использования свойств среды и/или проверки их допустимости зависит от реализации. Например, поставщики служб используют некоторые свойства, связанные с безопасностью, для «входа» в каталог. Этот процесс входа может происходить при создании контекста или при первом вызове метода для контекста. Когда и происходит ли это вообще, зависит от реализации. Проверка допустимости изменений при добавлении свойств среды в контекст или их удалении также зависит от реализации. Например, проверка некоторых свойств может происходить в момент внесения изменения, при выполнении следующей операции с контекстом или не выполняться вовсе.
Любой объект, имеющий ссылку на контекст, может просматривать среду этого контекста. Конфиденциальные сведения, например пароли в открытом виде, не следует хранить там, если только не известно, что реализация обеспечивает их защиту.
Файлы ресурсов
Чтобы упростить настройку среды, необходимой приложению JNDI, компоненты приложения и поставщики служб могут распространяться вместе с файлами ресурсов. Файл ресурсов JNDI — это файл в формате файла свойств (см. java.util.Properties), содержащий список пар «ключ/значение». Ключ — это имя свойства (например, "java.naming.factory.object"), а значение — строка в формате, определенном для этого свойства. Пример файла ресурсов JNDI:
java.naming.factory.object=com.sun.jndi.ldap.AttrsToCorba:com.wiz.from.Person
java.naming.factory.state=com.sun.jndi.ldap.CorbaToAttrs:com.wiz.from.Person
java.naming.factory.control=com.sun.jndi.ldap.ResponseControlFactory
Библиотека классов JNDI считывает файлы ресурсов и предоставляет значения свойств для свободного использования. Поэтому файлы ресурсов JNDI следует считать доступными для чтения всем, и не следует хранить в них конфиденциальные сведения, например пароли в открытом виде. Существует два типа файлов ресурсов JNDI: поставщика и приложения.
Файлы ресурсов поставщика
У каждого поставщика службы есть необязательный ресурс, содержащий список свойств, специфичных для этого поставщика. Имя этого ресурса: [prefix/]jndiprovider.properties где prefix — это имя пакета реализации контекста поставщика, в котором каждая точка (".") заменена косой чертой ("/"). Например, предположим, что поставщик службы определяет реализацию контекста с именем класса com.sun.jndi.ldap.LdapCtx. Ресурс поставщика для этого поставщика называется com/sun/jndi/ldap/jndiprovider.properties. Если класс не входит в пакет, имя ресурса — просто jndiprovider.properties. Некоторые методы библиотеки классов JNDI используют стандартные свойства JNDI, задающие списки фабрик JNDI:
- java.naming.factory.object
- java.naming.factory.state
- java.naming.factory.control
- java.naming.factory.url.pkgs
Файлы ресурсов приложения
При развертывании приложения в его пути к классам обычно присутствует несколько каталогов и JAR-файлов с кодом. JNDI находит (с помощьюClassLoader.getResources()) все файлы ресурсов приложения с именем jndi.properties в пути к классам. Кроме того, если каталог установки Java содержит встроенный файл свойств, обычно conf/jndi.properties, JNDI рассматривает его как дополнительный файл ресурсов приложения. Все свойства из этих файлов добавляются в среду начального контекста. Затем эта среда наследуется другими контекстами. Если одно и то же свойство найдено более чем в одном файле ресурсов приложения, JNDI использует первое найденное значение или, в некоторых случаях, когда это имеет смысл, объединяет все значения (подробности приведены ниже). Например, если свойство "java.naming.factory.object" найдено в трех файлах ресурсов jndi.properties, список фабрик объектов представляет собой объединение значений свойства из всех трех файлов. При такой схеме каждый развертываемый компонент отвечает за указание фабрик, которые он предоставляет. JNDI автоматически собирает все эти списки и использует их при поиске классов фабрик.
Алгоритм поиска свойств
При создании начального контекста JNDI инициализирует его среду свойствами, определенными в параметре среды, переданном конструктору, системными свойствами и файлами ресурсов приложения. Подробности см. вInitialContext. Затем эта начальная среда наследуется другими экземплярами контекста. Когда библиотеке классов JNDI требуется определить значение свойства, она объединяет значения из следующих двух источников в указанном порядке:
- Среда используемого контекста.
- Файл ресурсов поставщика (
jndiprovider.properties) для используемого контекста.
Когда поставщику службы требуется определить значение свойства, он обычно берет его непосредственно из среды. Поставщик службы может определять свойства, специфичные для поставщика, для размещения в собственном файле ресурсов поставщика. В этом случае значения следует объединять, как описано в предыдущем абзаце.
Таким образом, разработчик каждого поставщика службы может указать список фабрик, используемых с этим поставщиком. Этот список можно изменить с помощью ресурсов приложения, указанных развертывающим приложение лицом, а затем — с помощью пользователя.
- Начиная с версии:
- 1.3
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
static final String |
AUTHORITATIVE |
Константа, содержащая имя свойства среды для указания авторитетности запрошенной службы. |
static final String |
BATCHSIZE |
Константа, содержащая имя свойства среды для указания размера пакета, используемого при возврате данных через протокол службы. |
static final String |
DNS_URL |
Константа, содержащая имя свойства среды для указания имени узла DNS и доменного имени, используемых для контекста URL JNDI (например, "dns://somehost/wiz.com"). |
static final String |
INITIAL_CONTEXT_FACTORY |
Константа, содержащая имя свойства среды для указания используемой фабрики начального контекста. |
static final String |
LANGUAGE |
Константа, содержащая имя свойства среды для указания предпочтительного языка, используемого со службой. |
static final String |
OBJECT_FACTORIES |
Константа, содержащая имя свойства среды для указания списка используемых фабрик объектов. |
static final String |
PROVIDER_URL |
Константа, содержащая имя свойства среды для указания сведений о конфигурации, используемых поставщиком службы. |
static final String |
REFERRAL |
Константа, содержащая имя свойства среды для указания способа обработки переадресаций, обнаруженных поставщиком службы. |
static final String |
SECURITY_AUTHENTICATION |
Константа, содержащая имя свойства среды для указания используемого уровня безопасности. |
static final String |
SECURITY_CREDENTIALS |
Константа, содержащая имя свойства среды для указания учетных данных субъекта, используемых для аутентификации вызывающего объекта в службе. |
static final String |
SECURITY_PRINCIPAL |
Константа, содержащая имя свойства среды для указания идентификатора субъекта, используемого для аутентификации вызывающего объекта в службе. |
static final String |
SECURITY_PROTOCOL |
Константа, содержащая имя свойства среды для указания используемого протокола безопасности. |
static final String |
STATE_FACTORIES |
Константа, содержащая имя свойства среды для указания списка используемых фабрик состояний. |
static final String |
URL_PKG_PREFIXES |
Константа, содержащая имя свойства среды для указания списка префиксов пакетов, используемых при загрузке фабрик контекста URL. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
Object |
addToEnvironment |
Добавляет новое свойство среды в среду этого контекста. |
void |
bind |
Связывает имя с объектом. |
void |
bind |
Связывает имя с объектом. |
void |
close() |
Закрывает этот контекст. |
String |
composeName |
Составляет имя этого контекста с именем, относительным к этому контексту. |
Name |
composeName |
Составляет имя этого контекста с именем, относительным к этому контексту. |
Context |
createSubcontext |
Создает и связывает новый контекст. |
Context |
createSubcontext |
Создает и связывает новый контекст. |
void |
destroySubcontext |
Уничтожает указанный контекст и удаляет его из пространства имен. |
void |
destroySubcontext |
Уничтожает указанный контекст и удаляет его из пространства имен. |
Hashtable |
getEnvironment() |
Возвращает среду, действующую для этого контекста. |
String |
getNameInNamespace() |
Возвращает полное имя этого контекста в его собственном пространстве имен. |
NameParser |
getNameParser |
Возвращает анализатор, связанный с указанным контекстом. |
NameParser |
getNameParser |
Возвращает анализатор, связанный с указанным контекстом. |
NamingEnumeration |
list |
Перечисляет имена, связанные с указанным контекстом, вместе с именами классов связанных с ними объектов. |
NamingEnumeration |
list |
Перечисляет имена, связанные с указанным контекстом, вместе с именами классов связанных с ними объектов. |
NamingEnumeration |
listBindings |
Перечисляет имена, связанные с указанным контекстом, вместе со связанными с ними объектами. |
NamingEnumeration |
listBindings |
Перечисляет имена, связанные с указанным контекстом, вместе со связанными с ними объектами. |
Object |
lookup |
Возвращает указанный объект. |
Object |
lookup |
Возвращает указанный объект. |
Object |
lookupLink |
Возвращает указанный объект, переходя по ссылкам, за исключением конечного атомарного компонента имени. |
Object |
lookupLink |
Возвращает указанный объект, переходя по ссылкам, за исключением конечного атомарного компонента имени. |
void |
rebind |
Связывает имя с объектом, перезаписывая все существующие привязки. |
void |
rebind |
Связывает имя с объектом, перезаписывая все существующие привязки. |
Object |
removeFromEnvironment |
Удаляет свойство среды из среды этого контекста. |
void |
rename |
Связывает новое имя с объектом, связанным со старым именем, и отменяет привязку старого имени. |
void |
rename |
Связывает новое имя с объектом, связанным со старым именем, и отменяет привязку старого имени. |
void |
unbind |
Отменяет привязку указанного объекта. |
void |
unbind |
Отменяет привязку указанного объекта. |
Подробное описание полей
INITIAL_CONTEXT_FACTORY
static final String INITIAL_CONTEXT_FACTORY
NoInitialContextException. Значение этой константы — "java.naming.factory.initial".
- См. также:
OBJECT_FACTORIES
static final String OBJECT_FACTORIES
Значение этой константы — "java.naming.factory.object".
- См. также:
STATE_FACTORIES
static final String STATE_FACTORIES
Значение этой константы — "java.naming.factory.state".
- Начиная с:
- 1.3
- См. также:
URL_PKG_PREFIXES
static final String URL_PKG_PREFIXES
com.sun.jndi.url всегда добавляется к списку префиксов пакетов, который может быть пустым. Значение этой константы — "java.naming.factory.url.pkgs".
- См. также:
PROVIDER_URL
static final String PROVIDER_URL
Значение этой константы — "java.naming.provider.url".
- См. также:
DNS_URL
static final String DNS_URL
ConfigurationException. Значение этой константы — "java.naming.dns.url".
- См. также:
AUTHORITATIVE
static final String AUTHORITATIVE
Значение этой константы — "java.naming.authoritative".
- См. также:
BATCHSIZE
static final String BATCHSIZE
Значение этой константы — "java.naming.batchsize".
- См. также:
REFERRAL
static final String REFERRAL
- "follow"
- автоматически следовать перенаправлениям
- "ignore"
- игнорировать перенаправления
- "throw"
- вызывать
ReferralExceptionпри обнаружении перенаправления.
Значение этой константы — "java.naming.referral".
- См. также:
SECURITY_PROTOCOL
static final String SECURITY_PROTOCOL
Значение этой константы — "java.naming.security.protocol".
- См. также:
SECURITY_AUTHENTICATION
static final String SECURITY_AUTHENTICATION
Значение этой константы — "java.naming.security.authentication".
- См. также:
SECURITY_PRINCIPAL
static final String SECURITY_PRINCIPAL
Значение этой константы — "java.naming.security.principal".
- См. также:
SECURITY_CREDENTIALS
static final String SECURITY_CREDENTIALS
Значение этой константы — "java.naming.security.credentials".
- См. также:
LANGUAGE
static final String LANGUAGE
Значение этой константы — "java.naming.language".
- См. также:
Подробное описание методов
lookup
Object lookup(Name name) throws NamingException
name пусто, возвращает новый экземпляр этого контекста (представляющий тот же контекст именования, что и этот контекст, но его среду можно изменять независимо, и к нему можно обращаться одновременно).- Параметры:
-
name— имя искомого объекта - Возвращает:
- объект, связанный с
name - Исключения:
-
NamingException— если возникло исключение именования - См. также:
lookup
Object lookup(String name) throws NamingException
lookup(Name).- Параметры:
-
name— имя искомого объекта - Возвращает:
- объект, связанный с
name - Исключения:
-
NamingException— если возникло исключение именования
bind
void bind(Name name, Object obj) throws NamingException
- Параметры:
-
name— имя для связывания; не может быть пустым -
obj— связываемый объект; может быть null - Исключения:
-
NameAlreadyBoundException— если имя уже связано -
InvalidAttributesException— если объект не предоставил все обязательные атрибуты -
NamingException— если возникло исключение именования - См. также:
bind
void bind(String name, Object obj) throws NamingException
bind(Name, Object).- Параметры:
-
name— имя для связывания; не может быть пустым -
obj— связываемый объект; может быть null - Исключения:
-
NameAlreadyBoundException— если имя уже связано -
InvalidAttributesException— если объект не предоставил все обязательные атрибуты -
NamingException— если возникло исключение именования
rebind
void rebind(Name name, Object obj) throws NamingException
Если объект является DirContext, все существующие атрибуты, связанные с именем, заменяются атрибутами объекта. В противном случае все существующие атрибуты, связанные с именем, остаются без изменений.
- Параметры:
-
name— имя для связывания; не может быть пустым -
obj— связываемый объект; может быть null - Исключения:
-
InvalidAttributesException— если объект не предоставил все обязательные атрибуты -
NamingException— если возникло исключение именования - См. также:
rebind
void rebind(String name, Object obj) throws NamingException
rebind(Name, Object).- Параметры:
-
name— имя для связывания; не может быть пустым -
obj— связываемый объект; может быть null - Исключения:
-
InvalidAttributesException— если объект не предоставил все обязательные атрибуты -
NamingException— если возникло исключение именования
unbind
void unbind(Name name) throws NamingException
name в целевом контексте — том, который обозначается всеми компонентами name, кроме конечной атомарной части. Этот метод идемпотентен. Он выполняется успешно, даже если конечное атомарное имя не связано в целевом контексте, но вызывает NameNotFoundException, если не существует хотя бы одного промежуточного контекста.
Все атрибуты, связанные с именем, удаляются. Промежуточные контексты не изменяются.
- Параметры:
-
name— имя, связь с которым требуется отменить; не может быть пустым - Исключения:
-
NameNotFoundException— если промежуточный контекст не существует -
NamingException— если возникло исключение именования - См. также:
unbind
void unbind(String name) throws NamingException
unbind(Name).- Параметры:
-
name— имя, связь с которым требуется отменить; не может быть пустым - Исключения:
-
NameNotFoundException— если промежуточный контекст не существует -
NamingException— если возникло исключение именования
rename
void rename(Name oldName, Name newName) throws NamingException
- Параметры:
-
oldName— имя существующей связи; не может быть пустым -
newName— имя новой связи; не может быть пустым - Исключения:
-
NameAlreadyBoundException— еслиnewNameуже связано -
NamingException— если возникло исключение именования - См. также:
rename
void rename(String oldName, String newName) throws NamingException
rename(Name, Name).- Параметры:
-
oldName— имя существующей связи; не может быть пустым -
newName— имя новой связи; не может быть пустым - Исключения:
-
NameAlreadyBoundException— еслиnewNameуже связано -
NamingException— если возникло исключение именования
list
NamingEnumeration<NameClassPair> list(Name name) throws NamingException
Если в этот контекст добавляется или из него удаляется связь, влияние этого изменения на ранее возвращенное перечисление не определено.
- Параметры:
-
name— имя контекста для перечисления - Возвращает:
- перечисление имен и имен классов связей в этом контексте. Каждый элемент перечисления имеет тип
NameClassPair. - Исключения:
-
NamingException— если возникло исключение именования - См. также:
list
NamingEnumeration<NameClassPair> list(String name) throws NamingException
list(Name).- Параметры:
-
name— имя контекста для перечисления - Возвращает:
- перечисление имен и имен классов связей в этом контексте. Каждый элемент перечисления имеет тип
NameClassPair. - Исключения:
-
NamingException— если возникло исключение именования
listBindings
NamingEnumeration<Binding> listBindings(Name name) throws NamingException
Если в этот контекст добавляется или из него удаляется связь, влияние этого изменения на ранее возвращенное перечисление не определено.
- Параметры:
-
name— имя контекста для перечисления - Возвращает:
- перечисление связей в этом контексте. Каждый элемент перечисления имеет тип
Binding. - Исключения:
-
NamingException— если возникло исключение именования - См. также:
listBindings
NamingEnumeration<Binding> listBindings(String name) throws NamingException
listBindings(Name).- Параметры:
-
name— имя контекста для перечисления - Возвращает:
- перечисление связей в этом контексте. Каждый элемент перечисления имеет тип
Binding. - Исключения:
-
NamingException— если возникло исключение именования
destroySubcontext
void destroySubcontext(Name name) throws NamingException
Этот метод идемпотентен. Он выполняется успешно, даже если конечное атомарное имя не связано в целевом контексте, но вызывает NameNotFoundException, если не существует хотя бы одного промежуточного контекста.
В федеративной системе именования контекст из одной системы именования может быть связан с именем в другой системе. Затем можно искать этот внешний контекст и выполнять над ним операции с помощью составного имени. Однако попытка уничтожить контекст с использованием этого составного имени завершится ошибкой NotContextException, поскольку внешний контекст не является «вложенным контекстом» контекста, в котором он связан. Вместо этого используйте unbind(), чтобы удалить связь с внешним контекстом. Для уничтожения внешнего контекста необходимо выполнить destroySubcontext() для контекста из «родной» системы именования внешнего контекста.
- Параметры:
-
name— имя уничтожаемого контекста; не может быть пустым - Исключения:
-
NameNotFoundException— если промежуточный контекст не существует -
NotContextException— если имя связано, но не обозначает контекст либо обозначает контекст неподходящего типа -
ContextNotEmptyException— если указанный контекст не пуст -
NamingException— если возникло исключение именования - См. также:
destroySubcontext
void destroySubcontext(String name) throws NamingException
destroySubcontext(Name).- Параметры:
-
name— имя контекста, который нужно уничтожить; не может быть пустым - Исключения:
-
NameNotFoundException— если промежуточный контекст не существует -
NotContextException— если имя связано, но не обозначает контекст или обозначает контекст неподходящего типа -
ContextNotEmptyException— если именованный контекст не пуст -
NamingException— если возникает исключение именования
createSubcontext
Context createSubcontext(Name name) throws NamingException
- Параметры:
-
name— имя создаваемого контекста; не может быть пустым - Возвращает:
- созданный контекст
- Исключения:
-
NameAlreadyBoundException— если имя уже связано -
InvalidAttributesException— если для создания подчиненного контекста требуется указать обязательные атрибуты -
NamingException— если возникает исключение именования - См. также:
createSubcontext
Context createSubcontext(String name) throws NamingException
createSubcontext(Name).- Параметры:
-
name— имя создаваемого контекста; не может быть пустым - Возвращает:
- созданный контекст
- Исключения:
-
NameAlreadyBoundException— если имя уже связано -
InvalidAttributesException— если для создания подчиненного контекста требуется указать обязательные атрибуты -
NamingException— если возникает исключение именования
lookupLink
Object lookupLink(Name name) throws NamingException
name, не является ссылкой, возвращает сам объект.- Параметры:
-
name— имя искомого объекта - Возвращает:
- объект, связанный с
name, без перехода по последней ссылке (если она есть). - Исключения:
-
NamingException— если возникает исключение именования - См. также:
lookupLink
Object lookupLink(String name) throws NamingException
lookupLink(Name).- Параметры:
-
name— имя искомого объекта - Возвращает:
- объект, связанный с
name, без перехода по последней ссылке (если она есть) - Исключения:
-
NamingException— если возникает исключение именования
getNameParser
NameParser getNameParser(Name name) throws NamingException
NameParser, возвращаемые этим методом, должны быть равны (согласно проверке equals()).- Параметры:
-
name— имя контекста, для которого нужно получить анализатор - Возвращает:
- анализатор имен, способный разбивать составные имена на атомарные компоненты
- Исключения:
-
NamingException— если возникает исключение именования - См. также:
getNameParser
NameParser getNameParser(String name) throws NamingException
getNameParser(Name).- Параметры:
-
name— имя контекста, для которого нужно получить анализатор - Возвращает:
- анализатор имен, способный разбивать составные имена на атомарные компоненты
- Исключения:
-
NamingException— если возникает исключение именования
composeName
Name composeName(Name name, Name prefix) throws NamingException
name), относительного этого контекста, и имени (prefix) этого контекста, относительного одного из его предков, метод возвращает объединение двух имен с использованием синтаксиса, соответствующего задействованным системам именования. То есть, если name обозначает объект относительно этого контекста, результатом будет имя того же объекта, но относительно контекста-предка. Ни одно из имен не может быть равно null. Например, если имя этого контекста относительно начального контекста — «wiz.com», то
composeName("east", "wiz.com") может вернуть "east.wiz.com". Если же имя этого контекста — «org/research», то
composeName("user/jane", "org/research") может вернуть "org/research/user/jane", а
composeName("user/jane", "research") вернет "research/user/jane".- Параметры:
-
name— имя относительно этого контекста -
prefix— имя этого контекста относительно одного из его предков - Возвращает:
- объединение
prefixиname - Исключения:
-
NamingException— если возникает исключение именования - См. также:
composeName
String composeName(String name, String prefix) throws NamingException
composeName(Name, Name).- Параметры:
-
name— имя относительно этого контекста -
prefix— имя этого контекста относительно одного из его предков - Возвращает:
- объединение
prefixиname - Исключения:
-
NamingException— если возникает исключение именования
addToEnvironment
Object addToEnvironment(String propName, Object propVal) throws NamingException
- Параметры:
-
propName— имя добавляемого свойства среды; не может быть равно null -
propVal— значение добавляемого свойства; не может быть равно null - Возвращает:
- предыдущее значение свойства или null, если ранее это свойство отсутствовало в среде
- Исключения:
-
NamingException— если возникает исключение именования - См. также:
removeFromEnvironment
Object removeFromEnvironment(String propName) throws NamingException
- Параметры:
-
propName— имя удаляемого свойства среды; не может быть равно null - Возвращает:
- предыдущее значение свойства или null, если это свойство отсутствовало в среде
- Исключения:
-
NamingException— если возникает исключение именования - См. также:
getEnvironment
Hashtable<?,?> getEnvironment() throws NamingException
Вызывающему коду не следует изменять возвращенный объект: влияние таких изменений на контекст не определено. Среду этого контекста можно изменить с помощью addToEnvironment() и removeFromEnvironment().
- Возвращает:
- среду этого контекста; никогда не равна null
- Исключения:
-
NamingException— если возникает исключение именования - См. также:
close
void close() throws NamingException
Этот метод идемпотентен: его вызов для уже закрытого контекста не дает эффекта. Вызывать любые другие методы для закрытого контекста запрещено; результат такого вызова не определен.
- Исключения:
-
NamingException— если возникает исключение именования
getNameInNamespace
String getNameInNamespace() throws NamingException
Во многих службах именования существует понятие «полного имени» объектов в соответствующих пространствах имен. Например, запись LDAP имеет уникальное имя, а запись DNS — полное доменное имя. Этот метод позволяет клиентскому приложению получить такое имя. Строка, возвращаемая этим методом, не является составным именем JNDI и не должна напрямую передаваться методам контекста. В системах именования, для которых понятие полного имени неприменимо, выбрасывается OperationNotSupportedException.
- Возвращает:
- имя этого контекста в его собственном пространстве имен; никогда не равно null
- Исключения:
-
OperationNotSupportedException— если в системе именования не существует понятия полного имени -
NamingException— если возникает исключение именования - Начиная с версии:
- 1.3
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/25/docs/api/java.naming/javax/naming/Context.html