Класс 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<SearchResult> |
search |
Ищет в именованном контексте или объекте записи, удовлетворяющие заданному фильтру поиска. |
NamingEnumeration<SearchResult> |
search |
Ищет в именованном контексте или объекте записи, удовлетворяющие заданному фильтру поиска. |
NamingEnumeration<SearchResult> |
search |
Ищет в единственном контексте объекты, содержащие заданный набор атрибутов. |
NamingEnumeration<SearchResult> |
search |
Ищет в единственном контексте объекты, содержащие заданный набор атрибутов, и получает выбранные атрибуты. |
NamingEnumeration<SearchResult> |
search |
Ищет в именованном контексте или объекте записи, удовлетворяющие заданному фильтру поиска. |
NamingEnumeration<SearchResult> |
search |
Ищет в именованном контексте или объекте записи, удовлетворяющие заданному фильтру поиска. |
NamingEnumeration<SearchResult> |
search |
Ищет в единственном контексте объекты, содержащие заданный набор атрибутов. |
NamingEnumeration<SearchResult> |
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 не вернёт непустое значение result, то реализация предпримет все возможные усилия для определения конечной точки. Исключение 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- если возникло исключение имени - См. также:
связать
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- если возникло исключение имени
связать
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- если возникло исключение имени - См. также:
getSchema
public DirContext getSchema(String name) throws NamingException
DirContextDirContext.getSchema(Name).- Specified by:
-
getSchemaв интерфейсеDirContext - Параметры:
-
name- имя объекта, схему которого нужно получить - Возвращает:
- схему, связанную с контекстом; никогда не null
- Исключение:
-
OperationNotSupportedException- если схема не поддерживается -
NamingException- если произошла ошибка именования
getSchema
public DirContext getSchema(Name name) throws NamingException
DirContextЭтот метод возвращает корень дерева информации схемы, применимой к объекту по имени. Несколько объектов с именами (или даже весь каталог) могут использовать одну и ту же схему.
Такие вопросы, как структура и содержимое дерева схемы, разрешение на изменение содержимого дерева схемы и влияние таких изменений на каталог зависят от базового каталога.
- Specified by:
-
getSchemaв интерфейсеDirContext - Параметры:
-
name- имя объекта, схему которого нужно получить - Возвращает:
- схему, связанную с контекстом; никогда не null
- Исключение:
-
OperationNotSupportedException- если схема не поддерживается -
NamingException- если произошла ошибка именования
getSchemaClassDefinition
public DirContext getSchemaClassDefinition(String name) throws NamingException
DirContextDirContext.getSchemaClassDefinition(Name).- Specified by:
-
getSchemaClassDefinitionв интерфейсеDirContext - Параметры:
-
name- имя объекта, определение класса которого нужно получить - Возвращает:
- контекст
DirContext, содержащий определения классов указанного объекта; никогда не null - Исключение:
-
OperationNotSupportedException- если схема не поддерживается -
NamingException- если произошла ошибка именования
getSchemaClassDefinition
public DirContext getSchemaClassDefinition(Name name) throws NamingException
DirContext Одна категория информации в схемах каталога — определения классов. Определение "класса объекта" указывает тип объекта и какие атрибуты (обязательные и необязательные) объект должен/может иметь. Обратите внимание, что термин "класс объекта", к которому здесь относится, относится к каталогу, а не к Java. Например, если объект по имени — объект каталога класса "Человек", getSchemaClassDefinition() вернёт DirContext, представляющий определение класса объекта "Человек" (каталога).
Информация, которая может быть получена из определения класса объекта, зависит от каталога.
До JNDI 1.2 этот метод возвращал один объект схемы, представляющий определение класса указанного объекта. С JNDI 1.2 этот метод возвращает DirContext, содержащий все определения классов указанного объекта.
- Specified by:
-
getSchemaClassDefinitionв интерфейсеDirContext - Параметры:
-
name- имя объекта, определение класса которого нужно получить - Возвращает:
- контекст
DirContext, содержащий определения классов указанного объекта; никогда не null - Исключение:
-
OperationNotSupportedException- если схема не поддерживается -
NamingException- если произошла ошибка именования
search
public NamingEnumeration<SearchResult> search(String name, Attributes matchingAttributes) throws NamingException
DirContextDirContext.search(Name, Attributes).- Specified by:
-
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[]).- Specified by:
-
searchв интерфейсеDirContext - Параметры:
-
name- имя контекста для поиска -
matchingAttributes- искомые атрибуты - Возвращает:
- перечисление объектов
SearchResult - Исключение:
-
NamingException- если произошла ошибка именования - См. также:
search
public NamingEnumeration<SearchResult> search(String name, Attributes matchingAttributes, String[] attributesToReturn) throws NamingException
DirContextDirContext.search(Name, Attributes, String[]).- Specified by:
-
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— выражение фильтра для поиска; не может быть nullcons— настройки поиска, контролирующие поиск. Если 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— выражение фильтра для поиска; не может быть nullcons— настройки поиска, контролирующие поиск. Если 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, 2021, 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/17/docs/api/java.naming/javax/naming/directory/InitialDirContext.html