Spec-Zone .ru
спецификации, руководства, описания, API
|
public class InitialDirContext extends InitialContext implements DirContext
InitialContext
defaultInitCtx, gotDefault, myProps
ADD_ATTRIBUTE, REMOVE_ATTRIBUTE, REPLACE_ATTRIBUTE
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
Модификатор | Конструктор и Описание |
---|---|
|
InitialDirContext()
Создает начальный DirContext.
|
protected |
InitialDirContext(boolean lazy)
Создает начальный DirContext с опцией не инициализации этого.
|
|
InitialDirContext(Hashtable<?,?> environment)
Создает начальный DirContext, используя предоставленную среду.
|
Модификатор и Тип | Метод и Описание |
---|---|
void |
bind(Name name, Object obj, Attributes attrs)
Связывает имя к объекту, наряду со связанными атрибутами.
|
void |
bind(String name, Object obj, Attributes attrs)
Связывает имя к объекту, наряду со связанными атрибутами.
|
DirContext |
createSubcontext(Name name, Attributes attrs)
Создает и ограничивает новый контекст, наряду со связанными атрибутами.
|
DirContext |
createSubcontext(String name, Attributes attrs)
Создает и ограничивает новый контекст, наряду со связанными атрибутами.
|
Атрибуты |
getAttributes(Name name)
Получает все атрибуты, связанные с именованным объектом.
|
Атрибуты |
getAttributes(Name name, String[] attrIds)
Получает выбранные атрибуты, связанные с именованным объектом.
|
Атрибуты |
getAttributes(String name)
Получает все атрибуты, связанные с именованным объектом.
|
Атрибуты |
getAttributes(String name, String[] attrIds)
Получает выбранные атрибуты, связанные с именованным объектом.
|
DirContext |
getSchema(Name name)
Получает схему, связанную с именованным объектом.
|
DirContext |
getSchema(String name)
Получает схему, связанную с именованным объектом.
|
DirContext |
getSchemaClassDefinition(Name name)
Получает контекст, содержащий объекты схемы определений классов именованного объекта.
|
DirContext |
getSchemaClassDefinition(String name)
Получает контекст, содержащий объекты схемы определений классов именованного объекта.
|
void |
modifyAttributes(Name name, int mod_op, Attributes attrs)
Изменяет атрибуты, связанные с именованным объектом.
|
void |
modifyAttributes(Name name, ModificationItem[] mods)
Изменяет атрибуты, связанные с именованным объектом, используя упорядоченный список модификаций.
|
void |
modifyAttributes(String name, int mod_op, Attributes attrs)
Изменяет атрибуты, связанные с именованным объектом.
|
void |
modifyAttributes(String name, ModificationItem[] mods)
Изменяет атрибуты, связанные с именованным объектом, используя упорядоченный список модификаций.
|
void |
rebind(Name name, Object obj, Attributes attrs)
Связывает имя к объекту, наряду со связанными атрибутами, перезаписывая любую существующую привязку.
|
void |
rebind(String name, Object obj, Attributes attrs)
Связывает имя к объекту, наряду со связанными атрибутами, перезаписывая любую существующую привязку.
|
NamingEnumeration<SearchResult> |
search(Name name, Attributes matchingAttributes)
Поиски в единственном контексте для объектов, которые содержат указанный набор атрибутов.
|
NamingEnumeration<SearchResult> |
search(Name name, Attributes matchingAttributes, String[] attributesToReturn)
Поиски в единственном контексте для объектов, которые содержат указанный набор атрибутов, и получают выбранные атрибуты.
|
NamingEnumeration<SearchResult> |
search(Name name, String filterExpr, Object[] filterArgs, SearchControls cons)
Поиски в именованном контексте или объекте для записей, которые удовлетворяют данный поисковый фильтр.
|
NamingEnumeration<SearchResult> |
search(Name name, String filter, SearchControls cons)
Поиски в именованном контексте или объекте для записей, которые удовлетворяют данный поисковый фильтр.
|
NamingEnumeration<SearchResult> |
search(String name, Attributes matchingAttributes)
Поиски в единственном контексте для объектов, которые содержат указанный набор атрибутов.
|
NamingEnumeration<SearchResult> |
search(String name, Attributes matchingAttributes, String[] attributesToReturn)
Поиски в единственном контексте для объектов, которые содержат указанный набор атрибутов, и получают выбранные атрибуты.
|
NamingEnumeration<SearchResult> |
search(String name, String filterExpr, Object[] filterArgs, SearchControls cons)
Поиски в именованном контексте или объекте для записей, которые удовлетворяют данный поисковый фильтр.
|
NamingEnumeration<SearchResult> |
search(String name, String filter, SearchControls cons)
Поиски в именованном контексте или объекте для записей, которые удовлетворяют данный поисковый фильтр.
|
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
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
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
protected InitialDirContext(boolean lazy) throws NamingException
lazy
- истинные средства не инициализируют начальный DirContext; ложь эквивалентна вызову new InitialDirContext()NamingException
- если с исключением именования встречаютсяInitialContext.init(Hashtable)
public InitialDirContext() throws NamingException
NamingException
- если с исключением именования встречаютсяInitialDirContext(Hashtable)
public InitialDirContext(Hashtable<?,?> environment) throws NamingException
Этот конструктор не будет изменять environment или сохранять ссылку на него, но может спасти клона. Вызывающая сторона не должна изменить изменчивые ключи и значения в environment после того, как это передали конструктору.
environment
- среда, используемая, чтобы создать начальный DirContext. Нуль указывает на пустую среду.NamingException
- если с исключением именования встречаютсяpublic Attributes getAttributes(String name) throws NamingException
DirContext
DirContext.getAttributes(Name)
для деталей.getAttributes
в интерфейсе DirContext
name
- имя объекта, от которого можно получить атрибутыname
NamingException
- если с исключением именования встречаютсяpublic Attributes getAttributes(String name, String[] attrIds) throws NamingException
DirContext
DirContext.getAttributes(Name, String[])
для деталей.getAttributes
в интерфейсе DirContext
name
- Имя объекта, от которого можно получить атрибутыattrIds
- идентификаторы атрибутов, чтобы получить. нуль указывает, что все атрибуты должны быть получены; пустой массив указывает, что ни один не должен быть получен.NamingException
- если с исключением именования встречаютсяpublic Attributes getAttributes(Name name) throws NamingException
DirContext
getAttributes
в интерфейсе DirContext
name
- имя объекта, от которого можно получить атрибутыname
. Возвращает пустой набор атрибута, если у имени нет никаких атрибутов; никогда не обнуляйте.NamingException
- если с исключением именования встречаютсяDirContext.getAttributes(String)
, DirContext.getAttributes(Name, String[])
public Attributes getAttributes(Name name, String[] attrIds) throws NamingException
DirContext
Если объекту не определят атрибут, то каталог проигнорирует несуществующий атрибут и возвратит те требуемые атрибуты, которые действительно имеет объект.
Каталог мог бы возвратить больше атрибутов, чем требовалось (см. Имена типов Атрибута в описании класса), но не позволяется возвратить произвольные, несвязанные атрибуты.
См. также Операционные Атрибуты в описании класса.
getAttributes
в интерфейсе DirContext
name
- имя объекта, от которого можно получить атрибутыattrIds
- идентификаторы атрибутов, чтобы получить. нуль указывает, что все атрибуты должны быть получены; пустой массив указывает, что ни один не должен быть получен.NamingException
- если с исключением именования встречаютсяpublic void modifyAttributes(String name, int mod_op, Attributes attrs) throws NamingException
DirContext
DirContext.modifyAttributes(Name, int, Attributes)
для деталей.modifyAttributes
в интерфейсе DirContext
name
- имя объекта, атрибуты которого будут обновленыmod_op
- работа модификации, один из: ADD_ATTRIBUTE
, REPLACE_ATTRIBUTE
, REMOVE_ATTRIBUTE
.attrs
- атрибуты, которые будут использоваться для модификации; возможно, не нульAttributeModificationException
- если модификация не может быть завершена успешноNamingException
- если с исключением именования встречаются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
- атрибуты, которые будут использоваться для модификации; возможно, не нульAttributeModificationException
- если модификация не может быть завершена успешноNamingException
- если с исключением именования встречаютсяDirContext.modifyAttributes(Name, ModificationItem[])
public void modifyAttributes(String name, ModificationItem[] mods) throws NamingException
DirContext
DirContext.modifyAttributes(Name, ModificationItem[])
для деталей.modifyAttributes
в интерфейсе DirContext
name
- имя объекта, атрибуты которого будут обновленыmods
- упорядоченная последовательность модификаций, которые будут выполнены; возможно, не нульAttributeModificationException
- если модификации не могут быть завершены успешноNamingException
- если с исключением именования встречаютсяpublic void modifyAttributes(Name name, ModificationItem[] mods) throws NamingException
DirContext
modifyAttributes
в интерфейсе DirContext
name
- имя объекта, атрибуты которого будут обновленыmods
- упорядоченная последовательность модификаций, которые будут выполнены; возможно, не нульAttributeModificationException
- если модификации не могут быть завершены успешноNamingException
- если с исключением именования встречаютсяDirContext.modifyAttributes(Name, int, Attributes)
, ModificationItem
public void bind(String name, Object obj, Attributes attrs) throws NamingException
DirContext
DirContext.bind(Name, Object, Attributes)
для деталей.bind
в интерфейсе DirContext
name
- имя, чтобы связать; возможно, не пустоobj
- объект связать; возможно нульattrs
- атрибуты, чтобы связаться с привязкойNameAlreadyBoundException
- если имя уже связываетсяInvalidAttributesException
- если некоторые "обязательные" атрибуты привязки не предоставляютсяNamingException
- если с исключением именования встречаютсяpublic void bind(Name name, Object obj, Attributes attrs) throws NamingException
DirContext
bind
в интерфейсе DirContext
name
- имя, чтобы связать; возможно, не пустоobj
- объект связать; возможно нульattrs
- атрибуты, чтобы связаться с привязкойNameAlreadyBoundException
- если имя уже связываетсяInvalidAttributesException
- если некоторые "обязательные" атрибуты привязки не предоставляютсяNamingException
- если с исключением именования встречаютсяContext.bind(Name, Object)
, DirContext.rebind(Name, Object, Attributes)
public void rebind(String name, Object obj, Attributes attrs) throws NamingException
DirContext
DirContext.rebind(Name, Object, Attributes)
для деталей.rebind
в интерфейсе DirContext
name
- имя, чтобы связать; возможно, не пустоobj
- объект связать; возможно нульattrs
- атрибуты, чтобы связаться с привязкойInvalidAttributesException
- если некоторые "обязательные" атрибуты привязки не предоставляютсяNamingException
- если с исключением именования встречаютсяpublic void rebind(Name name, Object obj, Attributes attrs) throws NamingException
DirContext
rebind
в интерфейсе DirContext
name
- имя, чтобы связать; возможно, не пустоobj
- объект связать; возможно нульattrs
- атрибуты, чтобы связаться с привязкойInvalidAttributesException
- если некоторые "обязательные" атрибуты привязки не предоставляютсяNamingException
- если с исключением именования встречаютсяContext.bind(Name, Object)
, DirContext.bind(Name, Object, Attributes)
public DirContext createSubcontext(String name, Attributes attrs) throws NamingException
DirContext
DirContext.createSubcontext(Name, Attributes)
для деталей.createSubcontext
в интерфейсе DirContext
name
- имя контекста, чтобы создать; возможно, не пустоattrs
- атрибуты, чтобы связаться с недавно создаваемым контекстомNameAlreadyBoundException
- если имя уже связываетсяInvalidAttributesException
- если attrs
не содержит все обязательные атрибуты, требуемые для созданияNamingException
- если с исключением именования встречаютсяpublic DirContext createSubcontext(Name name, Attributes attrs) throws NamingException
DirContext
createSubcontext
в интерфейсе DirContext
name
- имя контекста, чтобы создать; возможно, не пустоattrs
- атрибуты, чтобы связаться с недавно создаваемым контекстомNameAlreadyBoundException
- если имя уже связываетсяInvalidAttributesException
- если attrs
не содержит все обязательные атрибуты, требуемые для созданияNamingException
- если с исключением именования встречаютсяContext.createSubcontext(Name)
public DirContext getSchema(String name) throws NamingException
DirContext
DirContext.getSchema(Name)
для деталей.getSchema
в интерфейсе DirContext
name
- имя объекта, схема которого должна быть полученаOperationNotSupportedException
- если схема, не поддерживаемаяNamingException
- если с исключением именования встречаютсяpublic DirContext getSchema(Name name) throws NamingException
DirContext
Этот метод возвращает корень дерева информации о схеме, которое применимо к именованному объекту. Несколько именованных объектов (или даже весь каталог) могли бы совместно использовать ту же самую схему.
Проблемы, такие как структура и содержание дерева схемы, разрешение, чтобы изменить к содержанию дерева схемы, и эффекту таких модификаций на каталоге зависят от базового каталога.
getSchema
в интерфейсе DirContext
name
- имя объекта, схема которого должна быть полученаOperationNotSupportedException
- если схема, не поддерживаемаяNamingException
- если с исключением именования встречаютсяpublic DirContext getSchemaClassDefinition(String name) throws NamingException
DirContext
DirContext.getSchemaClassDefinition(Name)
для деталей.getSchemaClassDefinition
в интерфейсе DirContext
name
- имя объекта, определение класса объекта которого должно быть полученоOperationNotSupportedException
- если схема, не поддерживаемаяNamingException
- если с исключением именования встречаютсяpublic DirContext getSchemaClassDefinition(Name name) throws NamingException
DirContext
Одна категория информации, найденной в схемах каталога, является определениями классов. Определение "класса объекта" определяет тип объекта и какие атрибуты (обязательный и дополнительный) объект должен иметь. Отметьте, что ссылка "класса объекта" термина здесь находится в смысле каталога, а не в смысле Java. Например, если бы именованный объект является объектом каталога класса "Человека", getSchemaClassDefinition() возвратил бы DirContext, представляющий определение класса объекта (каталога) "Человека".
Информация, которая может быть получена из определения класса объекта, зависима от каталога.
До JNDI 1.2, этот метод, возвращенный единственный объект схемы представление определения класса именованного объекта. Начиная с JNDI 1.2, этот метод возвращает DirContext, содержащий все определения классов именованного объекта.
getSchemaClassDefinition
в интерфейсе DirContext
name
- имя объекта, определение класса объекта которого должно быть полученоOperationNotSupportedException
- если схема, не поддерживаемаяNamingException
- если с исключением именования встречаютсяpublic NamingEnumeration<SearchResult> search(String name, Attributes matchingAttributes) throws NamingException
DirContext
DirContext.search(Name, Attributes)
для деталей.search
в интерфейсе DirContext
name
- имя контекста, чтобы искатьmatchingAttributes
- атрибуты, чтобы искатьNamingException
- если с исключением именования встречаютсяpublic NamingEnumeration<SearchResult> search(Name name, Attributes matchingAttributes) throws NamingException
DirContext
search(Name, Attributes, String[])
. DirContext.search(Name, Attributes, String[])
для полного описания.search
в интерфейсе DirContext
name
- имя контекста, чтобы искатьmatchingAttributes
- атрибуты, чтобы искатьNamingException
- если с исключением именования встречаютсяDirContext.search(Name, Attributes, String[])
public NamingEnumeration<SearchResult> search(String name, Attributes matchingAttributes, String[] attributesToReturn) throws NamingException
DirContext
DirContext.search(Name, Attributes, String[])
для деталей.search
в интерфейсе DirContext
name
- имя контекста, чтобы искатьmatchingAttributes
- атрибуты, чтобы искатьattributesToReturn
- атрибуты, чтобы возвратитьсяNamingException
- если с исключением именования встречаютсяpublic NamingEnumeration<SearchResult> search(Name name, Attributes matchingAttributes, String[] attributesToReturn) throws NamingException
DirContext
SearchControls
настройки. Для объекта, который будет выбран, каждый атрибут в matchingAttributes
должен соответствовать некоторый атрибут объекта. Если matchingAttributes
является пустым или нулевым, все объекты в целевом контексте возвращаются.
Атрибут A1 в matchingAttributes
как полагают, соответствует атрибуту A2 объекта, если у A1 и A2 есть тот же самый идентификатор, и каждое значение A1 равно некоторому значению A2. Это подразумевает, что порядок значений не является существенным, и что A2 может содержать "дополнительные" значения, не найденные в A1, не влияя на сравнение. Это также подразумевает что, если у A1 нет никаких значений, то тестирование на соответствие эквивалентно тестированию на присутствие атрибута A2 с тем же самым идентификатором.
Точное определение "равенства", используемого в сравнении значений атрибута, определяется базовой службой каталогов. Это могло бы использовать Object.equals
метод, например, или мог бы использовать схему, чтобы определить различную работу равенства. Для того, чтобы соответствовать основанный на операциях кроме равенства (таких как сравнение подстроки) используют версию search
метод, который берет параметр фильтра.
Когда изменения производятся в этом DirContext, эффект на перечисления, возвращенные предшествующими звонками в этот метод, неопределен.
Если объекту не определят атрибут, то каталог проигнорирует несуществующий атрибут и возвратит требуемые атрибуты, которые действительно имеет объект.
Каталог мог бы возвратить больше атрибутов, чем требовалось (см. Имена типов Атрибута в описании класса), но не позволяется возвратить произвольные, несвязанные атрибуты.
См. также Операционные Атрибуты в описании класса.
search
в интерфейсе DirContext
name
- имя контекста, чтобы искатьmatchingAttributes
- атрибуты, чтобы искать. Если пустой или нулевой, все объекты в целевом контексте возвращаются.attributesToReturn
- атрибуты, чтобы возвратиться. нуль указывает, что все атрибуты должны быть возвращены; пустой массив указывает, что ни один не должен быть возвращен.attributesToReturn
и имя соответствующего объекта, названного относительно контекста, названного name
.NamingException
- если с исключением именования встречаютсяSearchControls
, SearchResult
, DirContext.search(Name, String, Object[], SearchControls)
public NamingEnumeration<SearchResult> search(String name, String filter, SearchControls cons) throws NamingException
DirContext
DirContext.search(Name, String, SearchControls)
для деталей.search
в интерфейсе DirContext
name
- имя контекста или объекта искатьfilter
- выражение фильтра, чтобы использовать для поиска; возможно, не нульcons
- поисковые средства управления, которые управляют поиском. Если ноль, поисковые средства управления по умолчанию используются (эквивалентный (new SearchControls())).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". Провайдер определяет, основанный на ID атрибута ("someCount") (и возможно его схема), что значение атрибута является целым числом. Это тогда анализирует строку "127" соответственно.
Любые символы неASCII в строке фильтра должны быть представлены соответствующим Java (Unicode) символы, и не закодированы как октеты UTF-8. Поочередно, нотация "наклонной-черты-влево-hexcode", описанная в RFC 2254, может использоваться.
Если каталог не поддерживает строковое представление некоторых или все его атрибуты, форму search
это признает, что параметры фильтра в форме Объектов могут использоваться вместо этого. Поставщик услуг для такого каталога тогда преобразовал бы параметры фильтра его специфичному для службы представлению для оценки фильтра. См. search(Name, String, Object[], SearchControls)
.
RFC 2254 определяет определенные операторы для фильтра, включая соответствия подстроки, равенство, приблизительное соответствие, больше чем, меньше чем. Эти операторы отображаются на операторы с соответствующей семантикой в базовом каталоге. Например, для равняется оператору, предположите, что у каталога есть соответствующее правило, определяющее "равенство" атрибутов в фильтре. Это правило использовалось бы для того, чтобы проверить равенство атрибутов, определенных в фильтре с атрибутами объектов в каталоге. Точно так же, если бы у каталога есть соответствующее правило для того, чтобы упорядочить, это правило использовалось бы для того, чтобы сделать "больше чем" и "меньше чем" сравнения.
Не все операторы, определенные в RFC 2254, применимы ко всем атрибутам. Когда оператор не применим, исключение InvalidSearchFilterException
бросается.
Результат возвращается в перечислении SearchResult s. Каждый SearchResult содержит имя объекта и другой информации об объекте (см. SearchResult). Имя любой относительно целевого контекста поиска (который называют name
параметр), или это - строка URL. Если целевой контекст включается в перечисление (как возможно когда cons
определяет поисковый контекст SearchControls.OBJECT_SCOPE
или SearchControls.SUBSTREE_SCOPE
), его имя является пустой строкой. SearchResult может также содержать атрибуты соответствующего объекта, если параметр cons, определенный, который приписывает быть возвращенным.
Если у объекта нет требуемого атрибута, что несуществующий атрибут будет проигнорирован. Те требуемые атрибуты, которые действительно имеет объект, будут возвращены.
Каталог мог бы возвратить больше атрибутов, чем требовалось (см. Имена типов Атрибута в описании класса), но не позволяется возвратить произвольные, несвязанные атрибуты.
См. также Операционные Атрибуты в описании класса.
search
в интерфейсе DirContext
name
- имя контекста или объекта искатьfilter
- выражение фильтра, чтобы использовать для поиска; возможно, не нульcons
- поисковые средства управления, которые управляют поиском. Если ноль, поисковые средства управления по умолчанию используются (эквивалентный (new SearchControls())).InvalidSearchFilterException
- если поисковый определенный фильтр не поддерживается или понимается под базовым каталогомInvalidSearchControlsException
- если поисковые средства управления содержат недопустимые настройкиNamingException
- если с исключением именования встречаютсяDirContext.search(Name, String, Object[], SearchControls)
, SearchControls
, SearchResult
public NamingEnumeration<SearchResult> search(String name, String filterExpr, Object[] filterArgs, SearchControls cons) throws NamingException
DirContext
DirContext.search(Name, String, Object[], SearchControls)
для деталей.search
в интерфейсе DirContext
name
- имя контекста или объекта искатьfilterExpr
- выражение фильтра, чтобы использовать для поиска. Выражение может содержать переменные формы"{i}
"где i
неотрицательное целое число., Возможно, не нуль.filterArgs
- массив параметров, чтобы заменить переменные в filterExpr
. Значение filterArgs[i]
заменит каждое возникновение"{i}
". Если ноль, эквивалентный пустому массиву.cons
- поисковые средства управления, которые управляют поиском. Если ноль, поисковые средства управления по умолчанию используются (эквивалентный (new SearchControls())).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]
должен использоваться в том месте. Такие переменные могут использоваться везде, где attr, значение, или matchingrule производство появляются в грамматике фильтра RFC 2254, разделите 4. Когда оцененным строке параметром фильтра заменяют переменную, фильтр интерпретируется, как будто строка была дана вместо переменной с любыми символами, имеющими специальное значение в пределах фильтров (такой как '*'
) быть оставленным согласно правилам RFC 2254.
Для каталогов, которые не используют строковое представление для некоторых или всех их атрибутов, параметр фильтра, соответствующий значению атрибута, может иметь тип кроме Строки. Каталоги, которые поддерживают неструктурированные оцененные двоичному файлу атрибуты, например, должны принять байтовые массивы как параметры фильтра. Интерпретация (если кто-либо) параметров фильтра какого-либо другого типа определяется поставщиком услуг для того каталога, который отображает операции фильтра на операции с соответствующей семантикой в базовом каталоге.
Этот метод возвращает перечисление результатов. Каждый элемент в перечислении содержит имя объекта и другой информации об объекте (см. SearchResult
). Имя любой относительно целевого контекста поиска (который называют name
параметр), или это - строка URL. Если целевой контекст включается в перечисление (как возможно когда cons
определяет поисковый контекст SearchControls.OBJECT_SCOPE
или SearchControls.SUBSTREE_SCOPE
), его имя является пустой строкой.
SearchResult может также содержать атрибуты соответствующего объекта, если параметр cons определяет, что атрибуты возвращаются.
Если у объекта нет требуемого атрибута, что несуществующий атрибут будет проигнорирован. Те требуемые атрибуты, которые действительно имеет объект, будут возвращены.
Каталог мог бы возвратить больше атрибутов, чем требовалось (см. Имена типов Атрибута в описании класса), но не позволяется возвратить произвольные, несвязанные атрибуты.
Если поисковый фильтр с недопустимыми переменными заменами обеспечивается для этого метода, результат неопределен. Когда изменения производятся в этом DirContext, эффект на перечисления, возвращенные предшествующими звонками в этот метод, неопределен.
См. также Операционные Атрибуты в описании класса.
search
в интерфейсе DirContext
name
- имя контекста или объекта искатьfilterExpr
- выражение фильтра, чтобы использовать для поиска. Выражение может содержать переменные формы"{i}
"где i
неотрицательное целое число., Возможно, не нуль.filterArgs
- массив параметров, чтобы заменить переменные в filterExpr
. Значение filterArgs[i]
заменит каждое возникновение"{i}
". Если ноль, эквивалентный пустому массиву.cons
- поисковые средства управления, которые управляют поиском. Если ноль, поисковые средства управления по умолчанию используются (эквивалентный (new SearchControls())).InvalidSearchControlsException
- если cons содержит недопустимые настройкиInvalidSearchFilterException
- если filterExpr с filterArgs представляет недопустимый поисковый фильтрNamingException
- если с исключением именования встречаютсяDirContext.search(Name, Attributes, String[])
, MessageFormat
Для дальнейшей ссылки API и документации разработчика, см.
Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.