Класс InitialDirContext
- Все реализованные интерфейсы:
-
Context,DirContext
- Непосредственные известные подклассы:
InitialLdapContext
public class InitialDirContext extends InitialContext implements DirContext
- С:
- 1.3
- См. также:
Краткое описание полей
Поля, объявленные в классе javax.naming.InitialContext
defaultInitCtx, gotDefault, myProps
Поля, объявленные в интерфейсе 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
Поля, объявленные в интерфейсе javax.naming.directory.DirContext
ADD_ATTRIBUTE, REMOVE_ATTRIBUTE, REPLACE_ATTRIBUTE
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
| Создаёт начальный DirContext. |
||
protected |
Создаёт начальный DirContext с опцией не инициализировать его. |
|
| Создаёт начальный DirContext, используя предоставленную среду. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
bind |
Связывает имя с объектом вместе с сопутствующими атрибутами. |
void |
bind |
Связывает имя с объектом вместе с сопутствующими атрибутами. |
DirContext |
createSubcontext |
Создаёт и связывает новый контекст вместе с сопутствующими атрибутами. |
DirContext |
createSubcontext |
Создаёт и связывает новый контекст вместе с сопутствующими атрибутами. |
Attributes |
getAttributes |
Возвращает все атрибуты, связанные с объектом с указанным именем. |
Attributes |
getAttributes |
Возвращает выбранные атрибуты, связанные с объектом с указанным именем. |
Attributes |
getAttributes |
Возвращает все атрибуты, связанные с объектом с указанным именем. |
Attributes |
getAttributes |
Возвращает выбранные атрибуты, связанные с объектом с указанным именем. |
DirContext |
getSchema |
Возвращает схему, связанную с объектом с указанным именем. |
DirContext |
getSchema |
Возвращает схему, связанную с объектом с указанным именем. |
DirContext |
getSchemaClassDefinition |
Возвращает контекст, содержащий объекты схемы определений классов указанного объекта. |
DirContext |
getSchemaClassDefinition |
Возвращает контекст, содержащий объекты схемы определений классов указанного объекта. |
void |
modifyAttributes |
Изменяет атрибуты, связанные с объектом с указанным именем. |
void |
modifyAttributes |
Изменяет атрибуты, связанные с объектом с указанным именем, используя упорядоченный список изменений. |
void |
modifyAttributes |
Изменяет атрибуты, связанные с объектом с указанным именем. |
void |
modifyAttributes |
Изменяет атрибуты, связанные с объектом с указанным именем, используя упорядоченный список изменений. |
void |
rebind |
Связывает имя с объектом вместе с сопутствующими атрибутами, перезаписывая любое существующее связывание. |
void |
rebind |
Связывает имя с объектом вместе с сопутствующими атрибутами, перезаписывая любое существующее связывание. |
NamingEnumeration |
search |
Ищет в указанном контексте или объекте записи, удовлетворяющие заданному фильтру поиска. |
NamingEnumeration |
search |
Ищет в указанном контексте или объекте записи, удовлетворяющие заданному фильтру поиска. |
NamingEnumeration |
search |
Ищет в единственном контексте объекты, содержащие указанный набор атрибутов. |
NamingEnumeration |
search |
Ищет в единственном контексте объекты, содержащие указанный набор атрибутов, и возвращает выбранные атрибуты. |
NamingEnumeration |
search |
Ищет в указанном контексте или объекте записи, удовлетворяющие заданному фильтру поиска. |
NamingEnumeration |
search |
Ищет в указанном контексте или объекте записи, удовлетворяющие заданному фильтру поиска. |
NamingEnumeration |
search |
Ищет в единственном контексте объекты, содержащие указанный набор атрибутов. |
NamingEnumeration |
search |
Ищет в единственном контексте объекты, содержащие указанный набор атрибутов, и возвращает выбранные атрибуты. |
Методы, объявленные в классе javax.naming.InitialContext
addToEnvironment, bind, bind, close, composeName, composeName, createSubcontext, createSubcontext, destroySubcontext, destroySubcontext, doLookup, doLookup, getDefaultInitCtx, getEnvironment, getNameInNamespace, getNameParser, getNameParser, getURLOrDefaultInitCtx, getURLOrDefaultInitCtx, init, list, list, listBindings, listBindings, lookup, lookup, lookupLink, lookupLink, rebind, rebind, removeFromEnvironment, rename, rename, unbind, unbind
Методы, объявленные в классе java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Методы, объявленные в интерфейсе javax.naming.Context
addToEnvironment, bind, bind, close, composeName, composeName, createSubcontext, createSubcontext, destroySubcontext, destroySubcontext, getEnvironment, getNameInNamespace, getNameParser, getNameParser, list, list, listBindings, listBindings, lookup, lookup, lookupLink, lookupLink, rebind, rebind, removeFromEnvironment, rename, rename, unbind, unbind
Подробное описание конструкторов
InitialDirContext
protected InitialDirContext(boolean lazy) throws NamingException
InitialDirContext. Конструктор подкласса вызовет этот конструктор, вычислит значение среды, а затем вызовет init() перед возвращением.- Параметры:
-
lazy- true означает не инициализировать начальный DirContext; false эквивалентно вызовуnew InitialDirContext() - Исключения:
-
NamingException- если возникло исключение именования - С тех пор:
- 1.3
- См. также:
InitialDirContext
public InitialDirContext() throws NamingException
new InitialDirContext(null).- Исключения:
-
NamingException- если возникло исключение именования - См. также:
InitialDirContext
public InitialDirContext(Hashtable<?,?> environment) throws NamingException
javax.naming.InitialContext. Если свойство java.naming.provider.url предоставленной среды состоит из URL (или списка URL) с использованием протокола ldap, то результирующий LdapContext будет использовать сервер LDAP, разрешённый настроенным LdapDnsProviders:
- Если это первый
InitialDirContextсозданный сjava.naming.provider.url, использующим протокол ldap, то используется механизм ServiceLoader для поиска реализаций LdapDnsProvider с использованием загрузчика класса системы. Порядок поиска поставщиков зависит от реализации, и реализация может кэшировать найденных поставщиков. - Метод
lookupEndpointsкаждого поставщика, если он инициализирован, вызывается один раз с комбинацией каждого из URL в свойствеjava.naming.provider.urlи среды, пока поставщик не вернёт непустой результат или все поставщики не будут исчерпаны. Если ни один из LdapDnsProviders не вернёт непустой результат, то реализация предпримет все усилия для определения конечной точки. ServiceConfigurationError,ErrorилиRuntimeException, возникшие при загрузке или вызове LdapDnsProvider, будут переданы в поток вызова.
Этот конструктор не будет изменять environment или сохранять ссылку на него, но может сохранить копию. Вызывающая сторона не должна изменять изменяемые ключи и значения в environment после того, как они были переданы конструктору.
- Параметры:
-
environment- среда, используемая для создания начального DirContext. Null указывает пустую среду. - Исключения:
-
NamingException- если возникло исключение именования
Подробное описание методов
getAttributes
public Attributes getAttributes(String name) throws NamingException
DirContextDirContext.getAttributes(Name).- Определено в:
-
getAttributesв интерфейсеDirContext - Параметры:
-
name- имя объекта, атрибуты которого нужно получить - Возвращает:
- набор атрибутов, связанных с
name - Исключения:
-
NamingException- если возникло исключение именования
getAttributes
public Attributes getAttributes(String name, String[] attrIds) throws NamingException
DirContextDirContext.getAttributes(Name, String[]).- Определено в:
-
getAttributesв интерфейсеDirContext - Параметры:
-
name- Имя объекта, атрибуты которого нужно получить -
attrIds- идентификаторы атрибутов для получения. null указывает на получение всех атрибутов; пустой массив указывает на то, что ни один атрибут не должен быть получен. - Возвращает:
- запрашиваемые атрибуты; никогда не null
- Исключения:
-
NamingException- если возникло исключение именования
getAttributes
public Attributes getAttributes(Name name) throws NamingException
DirContext- Определено в:
-
getAttributesв интерфейсеDirContext - Параметры:
-
name- имя объекта, атрибуты которого нужно получить - Возвращает:
- набор атрибутов, связанных с
name. Возвращает пустой набор атрибутов, если у имени нет атрибутов; никогда не null. - Исключения:
-
NamingException- если возникло исключение именования - См. также:
getAttributes
public Attributes getAttributes(Name name, String[] attrIds) throws NamingException
DirContextЕсли объект не имеет указанного атрибута, каталог проигнорирует несуществующий атрибут и вернёт те запрашиваемые атрибуты, которые у объекта есть.
Каталог может вернуть больше атрибутов, чем было запрошено (см. Имена типов атрибутов в описании класса), но не имеет права возвращать произвольные, не связанные атрибуты.
См. также Операционные атрибуты в описании класса.
- Определено в:
-
getAttributesв интерфейсеDirContext - Параметры:
-
name- имя объекта, атрибуты которого нужно получить -
attrIds- идентификаторы атрибутов для получения. null указывает на получение всех атрибутов; пустой массив указывает на то, что ни один атрибут не должен быть получен. - Возвращает:
- запрашиваемые атрибуты; никогда не null
- Исключения:
-
NamingException- если возникло исключение именования
modifyAttributes
public void modifyAttributes(String name, int mod_op, Attributes attrs) throws NamingException
DirContextDirContext.modifyAttributes(Name, int, Attributes).- Определено в:
-
modifyAttributesв интерфейсеDirContext - Параметры:
-
name- имя объекта, атрибуты которого будут обновлены -
mod_op- операция модификации, одна из:ADD_ATTRIBUTE,REPLACE_ATTRIBUTE,REMOVE_ATTRIBUTE. -
attrs- атрибуты, используемые для модификации; не может быть null - Исключения:
-
AttributeModificationException- если модификация не может быть успешно завершена -
NamingException- если возникло исключение именования
modifyAttributes
public void modifyAttributes(Name name, int mod_op, Attributes attrs) throws NamingException
DirContext- Определено в:
-
modifyAttributesв интерфейсеDirContext - Параметры:
-
name- имя объекта, атрибуты которого будут обновлены -
mod_op- операция модификации, одна из:ADD_ATTRIBUTE,REPLACE_ATTRIBUTE,REMOVE_ATTRIBUTE. -
attrs- атрибуты, используемые для модификации; не может быть null - Исключения:
-
AttributeModificationException- если модификация не может быть успешно завершена -
NamingException- если возникло исключение именования - См. также:
Изменить атрибуты
public void modifyAttributes(String name, ModificationItem[] mods) throws NamingException
DirContextDirContext.modifyAttributes(Name, ModificationItem[]).- Указано в:
-
modifyAttributesв интерфейсеDirContext - Параметры:
-
name- имя объекта, атрибуты которого будут обновлены -
mods- упорядоченная последовательность выполняемых изменений; не может быть null - Выбрасывает:
-
AttributeModificationException- если изменения не могут быть успешно завершены -
NamingException- если возникло исключение при работе с именами
Изменить атрибуты
public void modifyAttributes(Name name, ModificationItem[] mods) throws NamingException
DirContext- Указано в:
-
modifyAttributesв интерфейсеDirContext - Параметры:
-
name- имя объекта, атрибуты которого будут обновлены -
mods- упорядоченная последовательность выполняемых изменений; не может быть null - Выбрасывает:
-
AttributeModificationException- если изменения не могут быть успешно завершены -
NamingException- если возникло исключение при работе с именами - См. также:
bind
public void bind(String name, Object obj, Attributes attrs) throws NamingException
DirContextDirContext.bind(Name, Object, Attributes).- Указано в:
-
bindв интерфейсеDirContext - Параметры:
-
name- имя для связывания; не может быть пустым -
obj- объект для связывания; может быть null -
attrs- атрибуты, которые нужно связать с привязкой - Выбрасывает:
-
NameAlreadyBoundException- если имя уже связано -
InvalidAttributesException- если некоторые «обязательные» атрибуты привязки не заданы -
NamingException- если возникло исключение при работе с именами
bind
public void bind(Name name, Object obj, Attributes attrs) throws NamingException
DirContextattrs равно null, результирующая привязка будет иметь атрибуты, связанные с obj, если obj является DirContext, и без атрибутов в противном случае. Если attrs не null, результирующая привязка будет иметь attrs в качестве атрибутов; любые атрибуты, связанные с obj, игнорируются.- Указано в:
-
bindв интерфейсеDirContext - Параметры:
-
name- имя для связывания; не может быть пустым -
obj- объект для связывания; может быть null -
attrs- атрибуты, которые нужно связать с привязкой - Выбрасывает:
-
NameAlreadyBoundException- если имя уже связано -
InvalidAttributesException- если некоторые «обязательные» атрибуты привязки не заданы -
NamingException- если возникло исключение при работе с именами - См. также:
переназначить
public void rebind(String name, Object obj, Attributes attrs) throws NamingException
DirContextDirContext.rebind(Name, Object, Attributes).- Указано в:
-
rebindв интерфейсеDirContext - Параметры:
-
name- имя для связывания; не может быть пустым -
obj- объект для связывания; может быть null -
attrs- атрибуты, которые нужно связать с привязкой - Выбрасывает:
-
InvalidAttributesException- если некоторые «обязательные» атрибуты привязки не заданы -
NamingException- если возникло исключение при работе с именами
переназначить
public void rebind(Name name, Object obj, Attributes attrs) throws NamingException
DirContextattrs равно null и obj является DirContext, используются атрибуты из obj. Если attrs равно null и obj не является DirContext, любые существующие атрибуты, связанные с объектом, уже привязанным в каталоге, остаются неизменными. Если attrs не null, любые существующие атрибуты, связанные с объектом, уже привязанным в каталоге, удаляются, и attrs связывается с именованным объектом. Если obj является DirContext и attrs не null, атрибуты obj игнорируются.- Указано в:
-
rebindв интерфейсеDirContext - Параметры:
-
name- имя для связывания; не может быть пустым -
obj- объект для связывания; может быть null -
attrs- атрибуты, которые нужно связать с привязкой - Выбрасывает:
-
InvalidAttributesException- если некоторые «обязательные» атрибуты привязки не заданы -
NamingException- если возникло исключение при работе с именами - См. также:
создатьПодконтекст
public DirContext createSubcontext(String name, Attributes attrs) throws NamingException
DirContextDirContext.createSubcontext(Name, Attributes).- Указано в:
-
createSubcontextв интерфейсеDirContext - Параметры:
-
name- имя создаваемого контекста; не может быть пустым -
attrs- атрибуты, которые нужно связать с созданным контекстом - Возвращает:
- новый созданный контекст
- Выбрасывает:
-
NameAlreadyBoundException- если имя уже связано -
InvalidAttributesException- еслиattrsне содержит все необходимые обязательные атрибуты для создания -
NamingException- если возникло исключение при работе с именами
создатьПодконтекст
public DirContext createSubcontext(Name name, Attributes attrs) throws NamingException
DirContextattrs равно null, этот метод эквивалентен Context.createSubcontext().- Указано в:
-
createSubcontextв интерфейсеDirContext - Параметры:
-
name- имя создаваемого контекста; не может быть пустым -
attrs- атрибуты, которые нужно связать с созданным контекстом - Возвращает:
- новый созданный контекст
- Выбрасывает:
-
NameAlreadyBoundException- если имя уже связано -
InvalidAttributesException- еслиattrsне содержит все необходимые обязательные атрибуты для создания -
NamingException- если возникло исключение при работе с именами - См. также:
Схема
public DirContext getSchema(String name) throws NamingException
DirContextDirContext.getSchema(Name) для получения подробностей.- Указано в:
-
getSchemaв интерфейсеDirContext - Параметры:
-
name- имя объекта, для которого требуется схема - Возвращает:
- схему, связанную с контекстом; никогда не null
- Исключение:
-
OperationNotSupportedException- если схема не поддерживается -
NamingException- если произошла ошибка именования
Схема
public DirContext getSchema(Name name) throws NamingException
DirContextЭтот метод возвращает корень дерева информации схемы, применимой к объекту с указанным именем. Несколько объектов с указанным именем (или даже вся директория) могут использовать одну и ту же схему.
Такие вопросы, как структура и содержимое дерева схемы, разрешение на изменение содержимого дерева схемы и влияние таких изменений на директорию зависят от базовой директории.
- Указано в:
-
getSchemaв интерфейсеDirContext - Параметры:
-
name- имя объекта, для которого требуется схема - Возвращает:
- схему, связанную с контекстом; никогда не null
- Исключение:
-
OperationNotSupportedException- если схема не поддерживается -
NamingException- если произошла ошибка именования
getSchemaClassDefinition
public DirContext getSchemaClassDefinition(String name) throws NamingException
DirContextDirContext.getSchemaClassDefinition(Name) для получения подробностей.- Указано в:
-
getSchemaClassDefinitionв интерфейсеDirContext - Параметры:
-
name- имя объекта, для которого требуется определение класса объекта - Возвращает:
- контекст, содержащий определения классов указанного объекта; никогда не null
- Исключение:
-
OperationNotSupportedException- если схема не поддерживается -
NamingException- если произошла ошибка именования
getSchemaClassDefinition
public DirContext getSchemaClassDefinition(Name name) throws NamingException
DirContext Одна категория информации в схемах директорий - это определения классов. Определение "класса объекта" задаёт тип объекта и какие атрибуты (обязательные и необязательные) объект должен/может иметь. Обратите внимание, что термин "класс объекта" здесь используется в смысле директории, а не в смысле Java. Например, если объект с именем - объект директории класса "Человек", getSchemaClassDefinition() вернёт DirContext, представляющий определение класса объекта "Человек" (директории).
Информация, которая может быть извлечена из определения класса объекта, зависит от директории.
До JNDI 1.2 этот метод возвращал один объект схемы, представляющий определение класса указанного объекта. Начиная с JNDI 1.2, этот метод возвращает DirContext, содержащий все определения классов указанного объекта.
- Указано в:
-
getSchemaClassDefinitionв интерфейсеDirContext - Параметры:
-
name- имя объекта, для которого требуется определение класса объекта - Возвращает:
- контекст, содержащий определения классов указанного объекта; никогда не null
- Исключение:
-
OperationNotSupportedException- если схема не поддерживается -
NamingException- если произошла ошибка именования
Поиск
public NamingEnumeration<SearchResult> search(String name, Attributes matchingAttributes) throws NamingException
DirContextDirContext.search(Name, Attributes) для получения подробностей.- Указано в:
-
searchв интерфейсеDirContext - Параметры:
-
name- имя контекста для поиска -
matchingAttributes- атрибуты для поиска - Возвращает:
- перечисление объектов
SearchResult - Исключение:
-
NamingException- если произошла ошибка именования
Поиск
public NamingEnumeration<SearchResult> search(Name name, Attributes matchingAttributes) throws NamingException
DirContextattributesToReturn методу search(Name, Attributes, String[]). См.
DirContext.search(Name, Attributes, String[]) для полного описания.- Указано в:
-
searchв интерфейсеDirContext - Параметры:
-
name- имя контекста для поиска -
matchingAttributes- атрибуты для поиска - Возвращает:
- перечисление объектов
SearchResult - Исключение:
-
NamingException- если произошла ошибка именования - См. также:
Поиск
public NamingEnumeration<SearchResult> search(String name, Attributes matchingAttributes, String[] attributesToReturn) throws NamingException
DirContextDirContext.search(Name, Attributes, String[]) для получения подробностей.- Указано в:
-
searchв интерфейсеDirContext - Параметры:
-
name- имя контекста для поиска -
matchingAttributes- атрибуты для поиска -
attributesToReturn- атрибуты для возврата - Возвращает:
- непустое перечисление объектов
SearchResult - Исключение:
-
NamingException- если произошла ошибка именования
поиск
public NamingEnumeration<SearchResult> search(Name name, Attributes matchingAttributes, String[] attributesToReturn) throws NamingException
DirContextSearchControls настроек. Для выбора объекта каждый атрибут в matchingAttributes должен соответствовать какому-либо атрибуту объекта. Если matchingAttributes пусто или равно null, возвращаются все объекты в целевом контексте.
Атрибут A1 в matchingAttributes считается соответствующим атрибуту A2 объекта, если A1 и A2 имеют одинаковый идентификатор, и каждое значение A1 равно какому-либо значению A2. Это подразумевает, что порядок значений несущественен и что A2 может содержать «дополнительные» значения, отсутствующие в A1, без влияния на сравнение. Это также подразумевает, что если A1 не имеет значений, то проверка соответствия эквивалентна проверке наличия атрибута A2 с тем же идентификатором.
Точное определение «равенства», используемого при сравнении значений атрибутов, определяется базовой службой каталогов. Например, она может использовать метод Object.equals, или может использовать схему для указания другой операции равенства. Для сопоставления, основанного на операциях, отличных от равенства (например, сравнение подстрок), используйте версию метода search, принимающую аргумент фильтра.
При внесении изменений в этот DirContext, влияние на перечисления, возвращенные предыдущими вызовами этого метода, не определено.
Если у объекта отсутствует указанный атрибут, служба каталогов проигнорирует несуществующий атрибут и вернет запрашиваемые атрибуты, которые у объекта есть.
Служба каталогов может вернуть больше атрибутов, чем было запрошено (см. Имена типов атрибутов в описании класса), но не имеет права возвращать произвольные, не связанные атрибуты.
См. также Операционные атрибуты в описании класса.
- Указано в:
-
searchв интерфейсеDirContext - Параметры:
-
name- имя контекста для поиска -
matchingAttributes- атрибуты для поиска. Если пусто или null, возвращаются все объекты в целевом контексте. -
attributesToReturn- атрибуты для возврата. null означает, что должны быть возвращены все атрибуты; пустой массив означает, что ни один не должен быть возвращен. - Возвращает:
- непустое перечисление объектов
SearchResult. Каждый объектSearchResultсодержит атрибуты, определенныеattributesToReturn, и имя соответствующего объекта, имя которого относительо контекста, указанного вname. - Выбрасывает:
-
NamingException- если возникло исключение именования - См. также:
поиск
public NamingEnumeration<SearchResult> search(String name, String filter, SearchControls cons) throws NamingException
DirContextDirContext.search(Name, String, SearchControls) для получения подробной информации.- Указано в:
-
searchв интерфейсеDirContext - Параметры:
-
name- имя контекста или объекта для поиска -
filter- выражение фильтра для поиска; не может быть null -
cons- настройки поиска, управляющие поиском. Если null, используются стандартные настройки поиска (эквивалентно(new SearchControls())). - Возвращает:
- перечисление
SearchResultдля объектов, удовлетворяющих фильтру. - Выбрасывает:
-
InvalidSearchFilterException- если заданный фильтр поиска не поддерживается или не понят базовой службой каталогов -
InvalidSearchControlsException- если настройки поиска содержат недопустимые параметры -
NamingException- если возникло исключение именования
поиск
public NamingEnumeration<SearchResult> search(Name name, String filter, SearchControls cons) throws NamingException
DirContext Формат и интерпретация filter следуют RFC 2254 с последующими интерпретациями attr и value, упомянутых в RFC.
attr — идентификатор атрибута.
value — строковое представление значения атрибута. Преобразование этого строкового представления в значение атрибута зависит от службы каталогов.
Например, для утверждения «someCount=127», attr — «someCount», а value — «127». Предоставитель определяет на основе идентификатора атрибута («someCount») (и, возможно, его схемы), что значение атрибута является целым числом. Затем он должным образом анализирует строку «127».
Любые не-ASCII символы в строке фильтра должны быть представлены соответствующими символами Java (Unicode), а не кодированы в виде UTF-8 октетов. В качестве альтернативы можно использовать обозначение «обратная косая черта-шестнадцатеричный код», описанное в RFC 2254.
Если служба каталогов не поддерживает строковое представление некоторых или всех своих атрибутов, можно использовать форму search, которая принимает аргументы фильтра в виде объектов. В таком случае поставщик услуг для данной службы каталогов преобразует аргументы фильтра в свою специфическую форму представления для оценки фильтра. См. search(Name, String, Object[], SearchControls).
RFC 2254 определяет определенные операторы для фильтра, включая совпадение подстрок, равенство, приблизительное совпадение, больше, меньше. Эти операторы отображаются на операторы с соответствующей семантикой в базовой службе каталогов. Например, для оператора равенства предположим, что служба каталогов имеет правило соответствия, определяющее «равенство» атрибутов в фильтре. Это правило будет использоваться для проверки равенства атрибутов, указанных в фильтре, с атрибутами объектов в каталоге. Аналогично, если служба каталогов имеет правило сопоставления для упорядочения, это правило будет использоваться для выполнения сравнений «больше» и «меньше».
Не все операторы, определенные в RFC 2254, применимы ко всем атрибутам. Если оператор неприменим, выбрасывается исключение InvalidSearchFilterException.
Результат возвращается в перечислении объектов SearchResult. Каждый объект SearchResult содержит имя объекта и другую информацию об объекте (см. SearchResult). Имя либо относительно целевого контекста поиска (которое задается параметром name), либо является строкой URL. Если целевой контекст включен в перечисление (что возможно, когда cons задает область поиска SearchControls.OBJECT_SCOPE или SearchControls.SUBSTREE_SCOPE), его имя — пустая строка. Объект SearchResult также может содержать атрибуты соответствующего объекта, если аргумент cons указал, что атрибуты должны быть возвращены.
Если у объекта отсутствует запрашиваемый атрибут, этот несуществующий атрибут будет проигнорирован. Запрашиваемые атрибуты, которые у объекта есть, будут возвращены.
Служба каталогов может вернуть больше атрибутов, чем было запрошено (см. Имена типов атрибутов в описании класса), но не имеет права возвращать произвольные, не связанные атрибуты.
См. также Операционные атрибуты в описании класса.
- Указано в:
-
searchв интерфейсеDirContext - Параметры:
-
name- имя контекста или объекта для поиска -
filter- выражение фильтра для поиска; не может быть null -
cons- настройки поиска, управляющие поиском. Если null, используются стандартные настройки поиска (эквивалентно(new SearchControls())). - Возвращает:
- перечисление
SearchResultобъектов, удовлетворяющих фильтру; никогда не null - Выбрасывает:
-
InvalidSearchFilterException- если заданный фильтр поиска не поддерживается или не понят базовой службой каталогов -
InvalidSearchControlsException- если настройки поиска содержат недопустимые параметры -
NamingException- если возникло исключение именования - См. также:
поиск
public NamingEnumeration<SearchResult> search(String name, String filterExpr, Object[] filterArgs, SearchControls cons) throws NamingException
DirContextDirContext.search(Name, String, Object[], SearchControls) для получения подробностей.- Указано в:
-
searchв интерфейсеDirContext - Параметры:
-
name- имя контекста или объекта для поиска -
filterExpr- выражение фильтра для поиска. Выражение может содержать переменные вида "{i}", гдеi- неотрицательное целое число. Не может быть null. -
filterArgs- массив аргументов для подстановки переменных вfilterExpr. ЗначениеfilterArgs[i]заменит каждое вхождение "{i}". Если null, эквивалентно пустому массиву. -
cons- параметры поиска, контролирующие выполнение поиска. Если null, используются стандартные параметры поиска (эквивалентно(new SearchControls())). - Возвращает:
- перечисление
SearchResultобъектов, удовлетворяющих фильтру; никогда не null - Исключения:
-
InvalidSearchControlsException- еслиconsсодержит некорректные настройки -
InvalidSearchFilterException- еслиfilterExprсfilterArgsпредставляет некорректный фильтр поиска -
NamingException- если произошла ошибка при именовании
поиск
public NamingEnumeration<SearchResult> search(Name name, String filterExpr, Object[] filterArgs, SearchControls cons) throws NamingException
DirContext Интерпретация filterExpr основана на RFC 2254. Она может дополнительно содержать переменные вида {i} — где i является целым числом — которые ссылаются на объекты в массиве filterArgs. Интерпретация filterExpr в остальном идентична параметру filter метода search(Name, String, SearchControls).
Когда переменная {i} появляется в фильтре поиска, это указывает на то, что аргумент фильтра filterArgs[i] должен использоваться на этом месте. Такие переменные могут использоваться там, где в грамматике фильтра RFC 2254, раздел 4, появляются конструкции attr, value или matchingrule. Когда строковый аргумент фильтра подставляется вместо переменной, фильтр интерпретируется так, как если бы строка была указана вместо переменной, а все символы, имеющие специальное значение в фильтрах (например, '*'), были экранированы в соответствии с правилами RFC 2254.
Для каталогов, которые не используют строковое представление для некоторых или всех своих атрибутов, аргумент фильтра, соответствующий значению атрибута, может иметь тип, отличный от String. Например, каталоги, поддерживающие несвязанные бинарные атрибуты, должны принимать массивы байтов в качестве аргументов фильтра. Интерпретация (если таковая имеется) аргументов фильтра любого другого типа определяется поставщиком услуг для данного каталога, который отображает операции фильтра на операции с соответствующей семантикой в базовом каталоге.
Этот метод возвращает перечисление результатов. Каждый элемент перечисления содержит имя объекта и другую информацию об объекте (см. SearchResult). Имя является либо относительным к целевому контексту поиска (названному параметром name), либо строкой URL. Если целевой контекст включён в перечисление (как возможно, когда cons задаёт область поиска SearchControls.OBJECT_SCOPE или SearchControls.SUBSTREE_SCOPE), его имя — пустая строка.
SearchResult также может содержать атрибуты соответствия объекта, если аргумент cons указывает на возврат атрибутов.
Если объект не имеет запрошенного атрибута, этот несуществующий атрибут будет проигнорирован. Запрошенные атрибуты, которые есть у объекта, будут возвращены.
Каталог может вернуть больше атрибутов, чем было запрошено (см. Имена типов атрибутов в описании класса), но не имеет права возвращать произвольные, не связанные атрибуты.
Если в этот метод передаётся фильтр поиска с некорректными подстановками переменных, результат не определён. При внесении изменений в этот DirContext, влияние на перечисления, возвращаемые предыдущими вызовами этого метода, не определено.
См. также Операционные атрибуты в описании класса.
- Указано в:
-
searchв интерфейсеDirContext - Параметры:
-
name- имя контекста или объекта для поиска -
filterExpr- выражение фильтра для поиска. Выражение может содержать переменные вида "{i}", гдеi- неотрицательное целое число. Не может быть null. -
filterArgs- массив аргументов для подстановки переменных вfilterExpr. ЗначениеfilterArgs[i]заменит каждое вхождение "{i}". Если null, эквивалентно пустому массиву. -
cons- параметры поиска, контролирующие выполнение поиска. Если null, используются стандартные параметры поиска (эквивалентно(new SearchControls())). - Возвращает:
- перечисление
SearchResultобъектов, удовлетворяющих фильтру; никогда не null - Исключения:
-
InvalidSearchControlsException- еслиconsсодержит некорректные настройки -
InvalidSearchFilterException- еслиfilterExprсfilterArgsпредставляет некорректный фильтр поиска -
NamingException- если произошла ошибка при именовании - См. также:
© 1993, 2023, 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/21/docs/api/java.naming/javax/naming/directory/InitialDirContext.html