Spec-Zone .ru
спецификации, руководства, описания, API
След: Именование Java и Интерфейс Каталога
Урок: Новые функции в JDK 5.0 и JDK 6
Управление видом
Домашняя страница > Именование Java и Интерфейс Каталога > Новые функции в JDK 5.0 и JDK 6

Управление видом

Управление видом используется, когда клиент хочет, чтобы сервер отправил сортированные результаты поиска. Серверная сортировка полезна в ситуации, где клиент должен сортировать результаты согласно некоторым критериям, но не снабжается, чтобы выполнить процесс вида самостоятельно. Управление видом определяется в RFC 2891. Классы ниже обеспечивают функциональность, требуемую поддерживать управление видом.

SortKey является odered списком ключей, основанных, на который сервер сортирует результат.

Как использовать Управление Видом?

Пример ниже иллюстрирует взаимодействие клиент-сервер между клиентом, выполняющим поиск, запрашивающий сторону сервера, сортирующую основанный на атрибуте "cn".

  1. Клиент отправляет запрос поиска, просящий
       
        // Activate sorting
         String sortKey = "cn";
         ctx.setRequestControls(new Control[] { 
             new SortControl(sortKey, Control.CRITICAL) });
    
         // Perform a search
         NamingEnumeration results = 
             ctx.search("", "(objectclass=*)", new SearchControls());
    
    
  2. Сервер отвечает записями, которые сортируются основанные на атрибуте "cn" и его соответствующем правиле соответствия.
       
        // 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.



Проблемы с примерами? Попытайтесь Компилировать и Выполнить Примеры: FAQ.
Жалобы? Поздравление? Предложения? Дайте нам свою обратную связь.

Предыдущая страница: Пронумерованное страницы Управление Результатами
Следующая страница: Управляйте Управлением Отсылкой