com.ca.jcs.enumeration
Class AbsoluteQueryResultNamingEnumeration

java.lang.Object
  extended by com.ca.jcs.enumeration.RawNamingEnumeration<T>
      extended by com.ca.jcs.enumeration.LookAheadRawNamingEnumeration<SearchResult>
          extended by com.ca.jcs.enumeration.ProcessingNamingEnumeration
              extended by com.ca.jcs.enumeration.AbsoluteQueryResultNamingEnumeration
All Implemented Interfaces:
Enumeration<SearchResult>, NamingEnumeration<SearchResult>
Direct Known Subclasses:
AssocQueryResultDecorateNamingEnumeration, MapSearchResultsFromConnectorEnum

public class AbsoluteQueryResultNamingEnumeration
extends ProcessingNamingEnumeration

Handle some basic normalising of SearchResult returned by LDAP search requests, in particular converting relative names and LDAP URLs to absolute names. Derived classes overriding processNext(SearchResult) must ensure they call super.processNext() so that this logic is not by-passed.


Field Summary
protected  Logger log
           
 
Fields inherited from class com.ca.jcs.enumeration.LookAheadRawNamingEnumeration
lookAhead, skippedCount
 
Fields inherited from class com.ca.jcs.enumeration.RawNamingEnumeration
countLimit, scope, startTime, timeLimit, visitedCount
 
Constructor Summary
AbsoluteQueryResultNamingEnumeration(String connBaseName, SearchControls searchControls, NamingEnumeration<SearchResult> child, Logger log)
           
 
Method Summary
 Logger getLogger()
           
 boolean processNext(SearchResult sr)
          Convert relative names / LDAP URLs in query results to absolute names.
 
Methods inherited from class com.ca.jcs.enumeration.ProcessingNamingEnumeration
close, rawHasMore
 
Methods inherited from class com.ca.jcs.enumeration.LookAheadRawNamingEnumeration
getSkippedCount, rawNext, toString
 
Methods inherited from class com.ca.jcs.enumeration.RawNamingEnumeration
getCountLimit, getNonFatalException, getTimeLimit, getVisitedCount, hasMore, hasMoreElements, next, nextElement, setCountLimit, setNonFatalException, setTimeLimit
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

log

protected final Logger log
Constructor Detail

AbsoluteQueryResultNamingEnumeration

public AbsoluteQueryResultNamingEnumeration(String connBaseName,
                                            SearchControls searchControls,
                                            NamingEnumeration<SearchResult> child,
                                            Logger log)
Method Detail

processNext

public boolean processNext(SearchResult sr)
                    throws NamingException
Convert relative names / LDAP URLs in query results to absolute names. Note that DNs in search results and name class pairs are in CompositeName syntax, which means that the number of '\'s in a DN is probably double what you'd expect.

Specified by:
processNext in class ProcessingNamingEnumeration
Throws:
NamingException

getLogger

public Logger getLogger()


Created 2011-07-14 13:27 EST