/* See LICENSE for licensing and NOTICE for copyright. */
package org.ldaptive.intermediate;
import org.ldaptive.control.ResponseControl;
/**
* Base class for ldap intermediate response messages.
*
* @author Middleware Services
*/
public abstract class AbstractIntermediateResponse implements IntermediateResponse
{
/** response oid. */
private final String responseOid;
/** response controls. */
private final ResponseControl[] responseControls;
/** message ID. */
private final int messageId;
/**
* Creates a new abstract intermediate response.
*
* @param oid OID of this message
* @param c response controls
* @param i message id
*/
public AbstractIntermediateResponse(final String oid, final ResponseControl[] c, final int i)
{
responseOid = oid;
responseControls = c;
messageId = i;
}
@Override
public String getOID()
{
return responseOid;
}
@Override
public ResponseControl[] getControls()
{
return responseControls;
}
@Override
public ResponseControl getControl(final String oid)
{
if (getControls() != null) {
for (ResponseControl c : getControls()) {
if (c.getOID().equals(oid)) {
return c;
}
}
}
return null;
}
@Override
public int getMessageId()
{
return messageId;
}
}