/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is mozilla.org code.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*/
package com.day.ldap;
import com.day.ldap.client.opers.JDAPSearchResponse;
/**
* A LDAPSearchResult object encapsulates a single search result.
*
* @version 1.0
*/
public class LDAPSearchResult extends LDAPMessage {
static final long serialVersionUID = 36890821518462301L;
/**
* LDAPEntry
*/
private LDAPEntry m_entry;
/**
* Constructor
*
* @param msgid message identifier
* @param rsp search operation response
* @param controls array of controls or null
* @see com.day.ldap.LDAPEntry
*/
LDAPSearchResult(int msgid, JDAPSearchResponse rsp, LDAPControl[]controls) {
super(msgid, rsp, controls);
}
/**
* Returns the entry of a server search response.
* @return an entry returned by the server in response to a search
* request.
* @see com.day.ldap.LDAPEntry
*/
public LDAPEntry getEntry() {
if (m_entry == null) {
JDAPSearchResponse rsp = (JDAPSearchResponse)getProtocolOp();
LDAPAttribute[] lattrs = rsp.getAttributes();
LDAPAttributeSet attrs;
if ( lattrs != null ) {
attrs = new LDAPAttributeSet( lattrs );
}
else {
attrs = new LDAPAttributeSet();
}
String dn = rsp.getObjectName();
m_entry = new LDAPEntry( dn, attrs );
}
return m_entry;
}
}