Класс InitialDirContext
- Все реализуемые интерфейсы:
Context, DirContext
- Прямые известные подклассы:
InitialLdapContext
public class InitialDirContext extends InitialContext implements DirContext
- С версии:
- 1.3
- См. также:
Краткое описание полей
Поля, объявленные в классе InitialContext
defaultInitCtx, gotDefault, myProps
Поля, объявленные в интерфейсе Context
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
Поля, объявленные в интерфейсе 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 |
Выполняет поиск в одном контексте объектов, содержащих указанный набор атрибутов, и получает выбранные атрибуты. |
Методы, объявленные в классе 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
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Методы, объявленные в интерфейсе 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. Конструктор подкласса вызовет этот конструктор, вычислит значение environment, а затем вызовет 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, для поиска реализаций LdapDnsProvider с использованием системного загрузчика классов применяется механизм ServiceLoader. Порядок поиска поставщиков зависит от реализации, и реализация может кэшировать найденных поставщиков. - Метод
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. Возвращает пустой набор атрибутов, если у 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— если возникло исключение именования - См. также:
modifyAttributes
public void modifyAttributes(String name, ModificationItem[] mods) throws NamingException
DirContextDirContext.modifyAttributes(Name, ModificationItem[]).- Определено в:
-
modifyAttributesв интерфейсеDirContext - Параметры:
-
name— имя объекта, атрибуты которого будут обновлены -
mods— упорядоченная последовательность изменений; не может быть null - Исключения:
-
AttributeModificationException— если изменения не удалось успешно завершить -
NamingException— если возникло исключение именования
modifyAttributes
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— если возникло исключение именования - См. также:
rebind
public void rebind(String name, Object obj, Attributes attrs) throws NamingException
DirContextDirContext.rebind(Name, Object, Attributes).- Определено в:
-
rebindв интерфейсеDirContext - Параметры:
-
name— имя для связывания; не может быть пустым -
obj— связываемый объект; может быть null -
attrs— атрибуты, связываемые с привязкой - Исключения:
-
InvalidAttributesException— если не указаны некоторые обязательные атрибуты привязки -
NamingException— если возникло исключение именования
rebind
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— если возникло исключение именования - См. также:
createSubcontext
public DirContext createSubcontext(String name, Attributes attrs) throws NamingException
DirContextDirContext.createSubcontext(Name, Attributes).- Определено в:
-
createSubcontextв интерфейсеDirContext - Параметры:
-
name— имя создаваемого контекста; не может быть пустым -
attrs— атрибуты, связываемые с созданным контекстом - Возвращает:
- созданный контекст
- Исключения:
-
NameAlreadyBoundException— если имя уже связано -
InvalidAttributesException— еслиattrsне содержит всех обязательных атрибутов, необходимых для создания -
NamingException— если возникло исключение именования
createSubcontext
public DirContext createSubcontext(Name name, Attributes attrs) throws NamingException
DirContextattrs имеет значение null, этот метод эквивалентен Context.createSubcontext().- Определено в:
-
createSubcontextв интерфейсеDirContext - Параметры:
-
name— имя создаваемого контекста; не может быть пустым -
attrs— атрибуты, связываемые с созданным контекстом - Возвращает:
- созданный контекст
- Исключения:
-
NameAlreadyBoundException— если имя уже связано -
InvalidAttributesException— еслиattrsне содержит всех обязательных атрибутов, необходимых для создания -
NamingException— если возникло исключение именования - См. также:
getSchema
public DirContext getSchema(String name) throws NamingException
DirContextDirContext.getSchema(Name).- Определено в:
-
getSchemaв интерфейсеDirContext - Параметры:
-
name— имя объекта, схему которого требуется получить - Возвращает:
- схема, связанная с контекстом; никогда не равно null
- Исключения:
-
OperationNotSupportedException— если схемы не поддерживаются -
NamingException— если возникло исключение именования
getSchema
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— имя объекта, определение класса которого требуется получить - Возвращает:
DirContext, содержащий определения классов именованного объекта; никогда не равно null- Исключения:
-
OperationNotSupportedException— если схемы не поддерживаются -
NamingException— если возникло исключение именования
getSchemaClassDefinition
public DirContext getSchemaClassDefinition(Name name) throws NamingException
DirContext Одна из категорий сведений в схемах каталогов — определения классов. Определение «класса объекта» задает тип объекта и атрибуты (обязательные и необязательные), которые объект должен или может иметь. Обратите внимание, что термин «класс объекта» здесь используется в смысле каталога, а не Java. Например, если именованный объект — объект каталога класса «Person», getSchemaClassDefinition() вернет DirContext, представляющий определение класса объекта «Person» в каталоге.
Сведения, которые можно получить из определения класса объекта, зависят от каталога.
До JNDI 1.2 этот метод возвращал один объект схемы, представляющий определение класса именованного объекта. Начиная с JNDI 1.2 этот метод возвращает DirContext, содержащий все определения классов именованного объекта.
- Определено в:
-
getSchemaClassDefinitionв интерфейсеDirContext - Параметры:
-
name— имя объекта, определение класса которого требуется получить - Возвращает:
DirContext, содержащий определения классов именованного объекта; никогда не равно null- Исключения:
-
OperationNotSupportedException— если схемы не поддерживаются -
NamingException— если возникло исключение именования
search
public NamingEnumeration<SearchResult> search(String name, Attributes matchingAttributes) throws NamingException
DirContextDirContext.search(Name, Attributes).- Определено в:
-
searchв интерфейсеDirContext - Параметры:
-
name— имя контекста для поиска -
matchingAttributes— атрибуты, которые требуется найти - Возвращает:
- перечисление объектов
SearchResult - Исключения:
-
NamingException— если возникло исключение именования
search
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— если возникло исключение именования - См. также:
search
public NamingEnumeration<SearchResult> search(String name, Attributes matchingAttributes, String[] attributesToReturn) throws NamingException
DirContextDirContext.search(Name, Attributes, String[]).- Определено в:
-
searchв интерфейсеDirContext - Параметры:
-
name— имя контекста для поиска -
matchingAttributes— атрибуты для поиска -
attributesToReturn— возвращаемые атрибуты - Возвращает:
- не null-перечисление объектов
SearchResult - Выбрасывает:
-
NamingException— если возникает исключение при именовании
search
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 означает, что должны быть возвращены все атрибуты; пустой массив означает, что не должен быть возвращен ни один атрибут. - Возвращает:
- не null-перечисление объектов
SearchResult. КаждыйSearchResultсодержит атрибуты, заданныеattributesToReturn, и имя соответствующего объекта, указанное относительно контекста с именемname. - Выбрасывает:
-
NamingException— если возникает исключение при именовании - См. также:
search
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— если возникает исключение при именовании
search
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— если возникает исключение при именовании - См. также:
search
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— если возникает исключение при именовании
search
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]. Такие переменные можно использовать везде, где в грамматике фильтров раздела 4 RFC 2254 встречается конструкция 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, 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/directory/InitialDirContext.html