Spec-Zone .ru
спецификации, руководства, описания, API
|
Управление видом используется, когда клиент хочет, чтобы сервер отправил сортированные результаты поиска. Серверная сортировка полезна в ситуации, где клиент должен сортировать результаты согласно некоторым критериям, но не снабжается, чтобы выполнить процесс вида самостоятельно. Управление видом определяется в RFC 2891. Классы ниже обеспечивают функциональность, требуемую поддерживать управление видом.
SortKey является odered списком ключей, основанных, на который сервер сортирует результат.
Пример ниже иллюстрирует взаимодействие клиент-сервер между клиентом, выполняющим поиск, запрашивающий сторону сервера, сортирующую основанный на атрибуте "cn".
// Activate sorting String sortKey = "cn"; ctx.setRequestControls(new Control[] { new SortControl(sortKey, Control.CRITICAL) }); // Perform a search NamingEnumeration results = ctx.search("", "(objectclass=*)", new SearchControls());
// Iterate over sorted search results while (results != null && results.hasMore()) { // Display an entry SearchResult entry = (SearchResult)results.next(); System.out.println(entry.getName()); // Handle the entry's response controls (if any) if (entry instanceof HasControls) { // ((HasControls)entry).getControls(); } } // Examine the sort control response Control[] controls = ctx.getResponseControls(); if (controls != null) { for (int i = 0; i < controls.length; i++) { if (controls[i] instanceof SortResponseControl) { SortResponseControl src = (SortResponseControl)controls[i]; if (! src.isSorted()) { throw src.getException(); } } else { // Handle other response controls (if any) } } }
Полный пример JNDI может быть найден here
.
Отметьте: управление видом поддерживается и Сервером каталогов Java Sun и Windows Active Directory server.