From 607866230ee63f416dff60d082d133f9a4e7dbd7 Mon Sep 17 00:00:00 2001
From: jdemendi <jdemendi@localhost>
Date: Tue, 17 Jul 2007 07:53:22 +0000
Subject: [PATCH] Each and every operation wrapper has to extend the OperationWrapper class to avoid code duplication. OperationWrapper is the superclass that implements the Operation interface for the wrapping purpose.

---
 opendj-sdk/opends/src/server/org/opends/server/core/AddOperationWrapper.java    |  460 -----------
 opendj-sdk/opends/src/server/org/opends/server/core/BindOperationWrapper.java   |  461 -----------
 opendj-sdk/opends/src/server/org/opends/server/core/SearchOperationWrapper.java |  460 -----------
 opendj-sdk/opends/src/server/org/opends/server/core/ModifyOperationWrapper.java |  459 -----------
 opendj-sdk/opends/src/server/org/opends/server/core/DeleteOperationWrapper.java |  463 -----------
 5 files changed, 37 insertions(+), 2,266 deletions(-)

diff --git a/opendj-sdk/opends/src/server/org/opends/server/core/AddOperationWrapper.java b/opendj-sdk/opends/src/server/org/opends/server/core/AddOperationWrapper.java
index 7497bb6..5bf0616 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/core/AddOperationWrapper.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/core/AddOperationWrapper.java
@@ -29,29 +29,23 @@
 import java.util.List;
 import java.util.Map;
 
-import org.opends.server.api.ClientConnection;
 import org.opends.server.types.Attribute;
 import org.opends.server.types.AttributeType;
 import org.opends.server.types.ByteString;
-import org.opends.server.types.CancelRequest;
-import org.opends.server.types.CancelResult;
-import org.opends.server.types.Control;
 import org.opends.server.types.DN;
-import org.opends.server.types.DirectoryException;
-import org.opends.server.types.DisconnectReason;
-import org.opends.server.types.Entry;
 import org.opends.server.types.ObjectClass;
-import org.opends.server.types.OperationType;
 import org.opends.server.types.RawAttribute;
-import org.opends.server.types.ResultCode;
+
 
 /**
  * This abstract class wraps/decorates a given add operation.
  * This class will be extended by sub-classes to enhance the
  * functionnality of the AddOperationBasis.
  */
-public abstract class AddOperationWrapper implements AddOperation
+public abstract class AddOperationWrapper extends OperationWrapper
+       implements AddOperation
 {
+  // The wrapped operation.
   private AddOperation add;
 
   /**
@@ -59,7 +53,9 @@
    *
    * @param add The add operation to wrap
    */
-  public AddOperationWrapper(AddOperation add){
+  public AddOperationWrapper(AddOperation add)
+  {
+    super(add);
     this.add = add;
   }
 
@@ -82,120 +78,6 @@
   /**
    * {@inheritDoc}
    */
-  public void addRequestControl(Control control)
-  {
-    add.addRequestControl(control);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void addResponseControl(Control control)
-  {
-    add.addResponseControl(control);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void appendAdditionalLogMessage(String message)
-  {
-    add.appendAdditionalLogMessage(message);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void appendErrorMessage(String message)
-  {
-    add.appendErrorMessage(message);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public CancelResult cancel(CancelRequest cancelRequest)
-  {
-    return add.cancel(cancelRequest);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void disconnectClient(DisconnectReason disconnectReason,
-      boolean sendNotification, String message, int messageID)
-  {
-    add.disconnectClient(disconnectReason, sendNotification, message,
-        messageID);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public boolean dontSynchronize()
-  {
-    return add.dontSynchronize();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public StringBuilder getAdditionalLogMessage()
-  {
-    return add.getAdditionalLogMessage();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public Object getAttachment(String name)
-  {
-    return add.getAttachment(name);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public Map<String, Object> getAttachments()
-  {
-    return add.getAttachments();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public DN getAuthorizationDN()
-  {
-    return add.getAuthorizationDN();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public Entry getAuthorizationEntry()
-  {
-    return add.getAuthorizationEntry();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public CancelRequest getCancelRequest()
-  {
-    return add.getCancelRequest();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public CancelResult getCancelResult()
-  {
-    return add.getCancelResult();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
   public long getChangeNumber()
   {
     return add.getChangeNumber();
@@ -204,30 +86,6 @@
   /**
    * {@inheritDoc}
    */
-  public ClientConnection getClientConnection()
-  {
-    return add.getClientConnection();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public String[][] getCommonLogElements()
-  {
-    return add.getCommonLogElements();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public long getConnectionID()
-  {
-    return add.getConnectionID();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
   public DN getEntryDN()
   {
     return add.getEntryDN();
@@ -236,30 +94,6 @@
   /**
    * {@inheritDoc}
    */
-  public StringBuilder getErrorMessage()
-  {
-    return add.getErrorMessage();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public DN getMatchedDN()
-  {
-    return add.getMatchedDN();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public int getMessageID()
-  {
-    return add.getMessageID();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
   public Map<ObjectClass, String> getObjectClasses()
   {
     return add.getObjectClasses();
@@ -276,46 +110,6 @@
   /**
    * {@inheritDoc}
    */
-  public long getOperationID()
-  {
-    return add.getOperationID();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public OperationType getOperationType()
-  {
-    return add.getOperationType();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public long getProcessingStartTime()
-  {
-    return add.getProcessingStartTime();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public long getProcessingStopTime()
-  {
-    return add.getProcessingStopTime();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public long getProcessingTime()
-  {
-    return add.getProcessingTime();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
   public List<RawAttribute> getRawAttributes()
   {
     return add.getRawAttributes();
@@ -332,54 +126,6 @@
   /**
    * {@inheritDoc}
    */
-  public List<String> getReferralURLs()
-  {
-    return add.getReferralURLs();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public List<Control> getRequestControls()
-  {
-    return add.getRequestControls();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public String[][] getRequestLogElements()
-  {
-    return add.getRequestLogElements();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public List<Control> getResponseControls()
-  {
-    return add.getResponseControls();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public String[][] getResponseLogElements()
-  {
-    return add.getResponseLogElements();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public ResultCode getResultCode()
-  {
-    return add.getResultCode();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
   public Map<AttributeType, List<Attribute>> getUserAttributes()
   {
     return add.getUserAttributes();
@@ -388,46 +134,6 @@
   /**
    * {@inheritDoc}
    */
-  public void indicateCancelled(CancelRequest cancelRequest)
-  {
-    add.indicateCancelled(cancelRequest);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public boolean isInternalOperation()
-  {
-    return add.isInternalOperation();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public boolean isSynchronizationOperation()
-  {
-    return add.isSynchronizationOperation();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void operationCompleted()
-  {
-    add.operationCompleted();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public Object removeAttachment(String name)
-  {
-    return add.removeAttachment(name);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
   public void removeAttribute(AttributeType attributeType)
   {
     add.removeAttribute(attributeType);
@@ -444,46 +150,6 @@
   /**
    * {@inheritDoc}
    */
-  public void removeRequestControl(Control control)
-  {
-    add.removeRequestControl(control);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void removeResponseControl(Control control)
-  {
-    add.removeResponseControl(control);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void setAdditionalLogMessage(StringBuilder additionalLogMessage)
-  {
-    add.setAdditionalLogMessage(additionalLogMessage);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public Object setAttachment(String name, Object value)
-  {
-    return add.setAttachment(name, value);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void setAttachments(Map<String, Object> attachments)
-  {
-    add.setAttachments(attachments);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
   public void setAttribute(AttributeType attributeType,
       List<Attribute> attributeList)
   {
@@ -493,30 +159,6 @@
   /**
    * {@inheritDoc}
    */
-  public void setAuthorizationEntry(Entry authorizationEntry)
-  {
-    add.setAuthorizationEntry(authorizationEntry);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public boolean setCancelRequest(CancelRequest cancelRequest)
-  {
-    return add.setCancelRequest(cancelRequest);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void setCancelResult(CancelResult cancelResult)
-  {
-    add.setCancelResult(cancelResult);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
   public void setChangeNumber(long changeNumber)
   {
     add.setChangeNumber(changeNumber);
@@ -525,54 +167,6 @@
   /**
    * {@inheritDoc}
    */
-  public void setDontSynchronize(boolean dontSynchronize)
-  {
-    add.setDontSynchronize(dontSynchronize);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void setErrorMessage(StringBuilder errorMessage)
-  {
-    add.setErrorMessage(errorMessage);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void setInternalOperation(boolean isInternalOperation)
-  {
-    add.setInternalOperation(isInternalOperation);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void setMatchedDN(DN matchedDN)
-  {
-    add.setMatchedDN(matchedDN);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void setProcessingStartTime()
-  {
-    add.setProcessingStartTime();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void setProcessingStopTime()
-  {
-    add.setProcessingStopTime();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
   public void setRawAttributes(List<RawAttribute> rawAttributes)
   {
     add.setRawAttributes(rawAttributes);
@@ -589,38 +183,6 @@
   /**
    * {@inheritDoc}
    */
-  public void setReferralURLs(List<String> referralURLs)
-  {
-    add.setReferralURLs(referralURLs);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void setResponseData(DirectoryException directoryException)
-  {
-    add.setResponseData(directoryException);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void setResultCode(ResultCode resultCode)
-  {
-    add.setResultCode(resultCode);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void setSynchronizationOperation(boolean isSynchronizationOperation)
-  {
-    add.setSynchronizationOperation(isSynchronizationOperation);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
   public String toString()
   {
     return add.toString();
@@ -629,14 +191,6 @@
   /**
    * {@inheritDoc}
    */
-  public void toString(StringBuilder buffer)
-  {
-    add.toString(buffer);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
   public DN getProxiedAuthorizationDN()
   {
     return add.getProxiedAuthorizationDN();
diff --git a/opendj-sdk/opends/src/server/org/opends/server/core/BindOperationWrapper.java b/opendj-sdk/opends/src/server/org/opends/server/core/BindOperationWrapper.java
index ddb784c..8de5716 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/core/BindOperationWrapper.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/core/BindOperationWrapper.java
@@ -26,31 +26,24 @@
  */
 package org.opends.server.core;
 
-import java.util.List;
-import java.util.Map;
 
-import org.opends.server.api.ClientConnection;
 import org.opends.server.protocols.asn1.ASN1OctetString;
 import org.opends.server.types.AuthenticationInfo;
 import org.opends.server.types.AuthenticationType;
 import org.opends.server.types.ByteString;
-import org.opends.server.types.CancelRequest;
-import org.opends.server.types.CancelResult;
-import org.opends.server.types.Control;
 import org.opends.server.types.DN;
-import org.opends.server.types.DirectoryException;
-import org.opends.server.types.DisconnectReason;
 import org.opends.server.types.Entry;
-import org.opends.server.types.OperationType;
-import org.opends.server.types.ResultCode;
+
 
 /**
  * This abstract class wraps/decorates a given bind operation.
  * This class will be extended by sub-classes to enhance the
  * functionnality of the BindOperationBasis.
  */
-public abstract class BindOperationWrapper implements BindOperation
+public abstract class BindOperationWrapper extends OperationWrapper
+       implements BindOperation
 {
+  // The wrapped operation.
   private BindOperation bind;
 
   /**
@@ -58,95 +51,15 @@
    *
    * @param bind The bind operation to wrap
    */
-  protected BindOperationWrapper(BindOperation bind){
+  protected BindOperationWrapper(BindOperation bind)
+  {
+    super(bind);
     this.bind = bind;
   }
 
   /**
    * {@inheritDoc}
    */
-  public void addRequestControl(Control control)
-  {
-    bind.addRequestControl(control);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void addResponseControl(Control control)
-  {
-    bind.addResponseControl(control);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void appendAdditionalLogMessage(String message)
-  {
-    bind.appendAdditionalLogMessage(message);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void appendErrorMessage(String message)
-  {
-    bind.appendErrorMessage(message);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public CancelResult cancel(CancelRequest cancelRequest)
-  {
-    return bind.cancel(cancelRequest);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void disconnectClient(DisconnectReason disconnectReason,
-      boolean sendNotification, String message, int messageID)
-  {
-    bind.disconnectClient(disconnectReason, sendNotification, message,
-        messageID);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public boolean dontSynchronize()
-  {
-    return bind.dontSynchronize();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public StringBuilder getAdditionalLogMessage()
-  {
-    return bind.getAdditionalLogMessage();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public Object getAttachment(String name)
-  {
-    return bind.getAttachment(name);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public Map<String, Object> getAttachments()
-  {
-    return bind.getAttachments();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
   public AuthenticationInfo getAuthenticationInfo()
   {
     return bind.getAuthenticationInfo();
@@ -179,22 +92,6 @@
   /**
    * {@inheritDoc}
    */
-  public DN getAuthorizationDN()
-  {
-    return bind.getAuthorizationDN();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public Entry getAuthorizationEntry()
-  {
-    return bind.getAuthorizationEntry();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
   public DN getBindDN()
   {
     return bind.getBindDN();
@@ -203,110 +100,6 @@
   /**
    * {@inheritDoc}
    */
-  public CancelRequest getCancelRequest()
-  {
-    return bind.getCancelRequest();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public CancelResult getCancelResult()
-  {
-    return bind.getCancelResult();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public ClientConnection getClientConnection()
-  {
-    return bind.getClientConnection();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public String[][] getCommonLogElements()
-  {
-    return bind.getCommonLogElements();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public long getConnectionID()
-  {
-    return bind.getConnectionID();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public StringBuilder getErrorMessage()
-  {
-    return bind.getErrorMessage();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public DN getMatchedDN()
-  {
-    return bind.getMatchedDN();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public int getMessageID()
-  {
-    return bind.getMessageID();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public long getOperationID()
-  {
-    return bind.getOperationID();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public OperationType getOperationType()
-  {
-    return bind.getOperationType();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public long getProcessingStartTime()
-  {
-    return bind.getProcessingStartTime();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public long getProcessingStopTime()
-  {
-    return bind.getProcessingStopTime();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public long getProcessingTime()
-  {
-    return bind.getProcessingTime();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
   public ByteString getRawBindDN()
   {
     return bind.getRawBindDN();
@@ -315,54 +108,6 @@
   /**
    * {@inheritDoc}
    */
-  public List<String> getReferralURLs()
-  {
-    return bind.getReferralURLs();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public List<Control> getRequestControls()
-  {
-    return bind.getRequestControls();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public String[][] getRequestLogElements()
-  {
-    return bind.getRequestLogElements();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public List<Control> getResponseControls()
-  {
-    return bind.getResponseControls();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public String[][] getResponseLogElements()
-  {
-    return bind.getResponseLogElements();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public ResultCode getResultCode()
-  {
-    return bind.getResultCode();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
   public Entry getSASLAuthUserEntry()
   {
     return bind.getSASLAuthUserEntry();
@@ -411,86 +156,6 @@
   /**
    * {@inheritDoc}
    */
-  public void indicateCancelled(CancelRequest cancelRequest)
-  {
-    bind.indicateCancelled(cancelRequest);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public boolean isInternalOperation()
-  {
-    return bind.isInternalOperation();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public boolean isSynchronizationOperation()
-  {
-    return bind.isSynchronizationOperation();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void operationCompleted()
-  {
-    bind.operationCompleted();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public Object removeAttachment(String name)
-  {
-    return bind.removeAttachment(name);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void removeRequestControl(Control control)
-  {
-    bind.removeRequestControl(control);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void removeResponseControl(Control control)
-  {
-    bind.removeResponseControl(control);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void setAdditionalLogMessage(StringBuilder additionalLogMessage)
-  {
-    bind.setAdditionalLogMessage(additionalLogMessage);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public Object setAttachment(String name, Object value)
-  {
-    return bind.setAttachment(name, value);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void setAttachments(Map<String, Object> attachments)
-  {
-    bind.setAttachments(attachments);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
   public void setAuthenticationInfo(AuthenticationInfo authInfo)
   {
     bind.setAuthenticationInfo(authInfo);
@@ -507,78 +172,6 @@
   /**
    * {@inheritDoc}
    */
-  public void setAuthorizationEntry(Entry authorizationEntry)
-  {
-    bind.setAuthorizationEntry(authorizationEntry);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public boolean setCancelRequest(CancelRequest cancelRequest)
-  {
-    return bind.setCancelRequest(cancelRequest);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void setCancelResult(CancelResult cancelResult)
-  {
-    bind.setCancelResult(cancelResult);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void setDontSynchronize(boolean dontSynchronize)
-  {
-    bind.setDontSynchronize(dontSynchronize);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void setErrorMessage(StringBuilder errorMessage)
-  {
-    bind.setErrorMessage(errorMessage);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void setInternalOperation(boolean isInternalOperation)
-  {
-    bind.setInternalOperation(isInternalOperation);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void setMatchedDN(DN matchedDN)
-  {
-    bind.setMatchedDN(matchedDN);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void setProcessingStartTime()
-  {
-    bind.setProcessingStartTime();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void setProcessingStopTime()
-  {
-    bind.setProcessingStopTime();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
   public void setRawBindDN(ByteString rawBindDN)
   {
     bind.setRawBindDN(rawBindDN);
@@ -587,30 +180,6 @@
   /**
    * {@inheritDoc}
    */
-  public void setReferralURLs(List<String> referralURLs)
-  {
-    bind.setReferralURLs(referralURLs);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void setResponseData(DirectoryException directoryException)
-  {
-    bind.setResponseData(directoryException);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void setResultCode(ResultCode resultCode)
-  {
-    bind.setResultCode(resultCode);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
   public void setSASLAuthUserEntry(Entry saslAuthUserEntry)
   {
     bind.setSASLAuthUserEntry(saslAuthUserEntry);
@@ -644,14 +213,6 @@
   /**
    * {@inheritDoc}
    */
-  public void setSynchronizationOperation(boolean isSynchronizationOperation)
-  {
-    bind.setSynchronizationOperation(isSynchronizationOperation);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
   public void setUserEntryDN(DN userEntryDN){
     bind.setUserEntryDN(userEntryDN);
   }
@@ -667,14 +228,6 @@
   /**
    * {@inheritDoc}
    */
-  public void toString(StringBuilder buffer)
-  {
-    bind.toString(buffer);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
   public void setProtocolVersion(String protocolVersion)
   {
     bind.setProtocolVersion(protocolVersion);
diff --git a/opendj-sdk/opends/src/server/org/opends/server/core/DeleteOperationWrapper.java b/opendj-sdk/opends/src/server/org/opends/server/core/DeleteOperationWrapper.java
index 4858485..179cc09 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/core/DeleteOperationWrapper.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/core/DeleteOperationWrapper.java
@@ -26,28 +26,20 @@
  */
 package org.opends.server.core;
 
-import java.util.List;
-import java.util.Map;
 
-import org.opends.server.api.ClientConnection;
 import org.opends.server.types.ByteString;
-import org.opends.server.types.CancelRequest;
-import org.opends.server.types.CancelResult;
-import org.opends.server.types.Control;
 import org.opends.server.types.DN;
-import org.opends.server.types.DirectoryException;
-import org.opends.server.types.DisconnectReason;
-import org.opends.server.types.Entry;
-import org.opends.server.types.OperationType;
-import org.opends.server.types.ResultCode;
+
 
 /**
  * This abstract class wraps/decorates a given delete operation.
  * This class will be extended by sub-classes to enhance the
  * functionnality of the DeleteOperationBasis.
  */
-public abstract class DeleteOperationWrapper implements DeleteOperation
+public abstract class DeleteOperationWrapper extends OperationWrapper
+       implements DeleteOperation
 {
+  // The wrapped operation.
   DeleteOperation delete;
 
   /**
@@ -55,151 +47,15 @@
    *
    * @param delete The delete operation to wrap
    */
-  public DeleteOperationWrapper(DeleteOperation delete){
+  public DeleteOperationWrapper(DeleteOperation delete)
+  {
+    super(delete);
     this.delete = delete;
   }
 
   /**
    * {@inheritDoc}
    */
-  public void addRequestControl(Control control)
-  {
-    delete.addRequestControl(control);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void addResponseControl(Control control)
-  {
-    delete.addResponseControl(control);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void appendAdditionalLogMessage(String message)
-  {
-    delete.appendAdditionalLogMessage(message);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void appendErrorMessage(String message)
-  {
-    delete.appendErrorMessage(message);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public CancelResult cancel(CancelRequest cancelRequest)
-  {
-    return delete.cancel(cancelRequest);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void disconnectClient(DisconnectReason disconnectReason,
-      boolean sendNotification, String message, int messageID)
-  {
-    delete.disconnectClient(disconnectReason, sendNotification,
-        message, messageID);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public boolean dontSynchronize()
-  {
-    return delete.dontSynchronize();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public StringBuilder getAdditionalLogMessage()
-  {
-    return delete.getAdditionalLogMessage();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public Object getAttachment(String name)
-  {
-    return delete.getAttachment(name);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public Map<String, Object> getAttachments()
-  {
-    return delete.getAttachments();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public DN getAuthorizationDN()
-  {
-    return delete.getAuthorizationDN();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public Entry getAuthorizationEntry()
-  {
-    return delete.getAuthorizationEntry();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public CancelRequest getCancelRequest()
-  {
-    return delete.getCancelRequest();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public CancelResult getCancelResult()
-  {
-    return delete.getCancelResult();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public ClientConnection getClientConnection()
-  {
-    return delete.getClientConnection();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public String[][] getCommonLogElements()
-  {
-    return delete.getCommonLogElements();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public long getConnectionID()
-  {
-    return delete.getConnectionID();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
   public DN getEntryDN()
   {
     return delete.getEntryDN();
@@ -208,70 +64,6 @@
   /**
    * {@inheritDoc}
    */
-  public StringBuilder getErrorMessage()
-  {
-    return delete.getErrorMessage();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public DN getMatchedDN()
-  {
-    return delete.getMatchedDN();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public int getMessageID()
-  {
-    return delete.getMessageID();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public long getOperationID()
-  {
-    return delete.getOperationID();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public OperationType getOperationType()
-  {
-    return delete.getOperationType();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public long getProcessingStartTime()
-  {
-    return delete.getProcessingStartTime();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public long getProcessingStopTime()
-  {
-    return delete.getProcessingStopTime();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public long getProcessingTime()
-  {
-    return delete.getProcessingTime();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
   public ByteString getRawEntryDN()
   {
     return delete.getRawEntryDN();
@@ -280,207 +72,6 @@
   /**
    * {@inheritDoc}
    */
-  public List<String> getReferralURLs()
-  {
-    return delete.getReferralURLs();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public List<Control> getRequestControls()
-  {
-    return delete.getRequestControls();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public String[][] getRequestLogElements()
-  {
-    return delete.getRequestLogElements();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public List<Control> getResponseControls()
-  {
-    return delete.getResponseControls();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public String[][] getResponseLogElements()
-  {
-    return delete.getResponseLogElements();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public ResultCode getResultCode()
-  {
-    return delete.getResultCode();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void indicateCancelled(CancelRequest cancelRequest)
-  {
-    delete.indicateCancelled(cancelRequest);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public boolean isInternalOperation()
-  {
-    return delete.isInternalOperation();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public boolean isSynchronizationOperation()
-  {
-    return delete.isSynchronizationOperation();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void operationCompleted()
-  {
-    delete.operationCompleted();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public Object removeAttachment(String name)
-  {
-    return delete.removeAttachment(name);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void removeRequestControl(Control control)
-  {
-    delete.removeRequestControl(control);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void removeResponseControl(Control control)
-  {
-    delete.removeResponseControl(control);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void setAdditionalLogMessage(StringBuilder additionalLogMessage)
-  {
-    delete.setAdditionalLogMessage(additionalLogMessage);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public Object setAttachment(String name, Object value)
-  {
-    return delete.setAttachment(name, value);
-  }
-
-
-  /**
-   * {@inheritDoc}
-   */
-  public void setAttachments(Map<String, Object> attachments)
-  {
-    delete.setAttachments(attachments);
-  }
-
-   /**
-    * {@inheritDoc}
-    */
-  public void setAuthorizationEntry(Entry authorizationEntry)
-  {
-    delete.setAuthorizationEntry(authorizationEntry);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public boolean setCancelRequest(CancelRequest cancelRequest)
-  {
-    return delete.setCancelRequest(cancelRequest);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void setCancelResult(CancelResult cancelResult)
-  {
-    delete.setCancelResult(cancelResult);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void setDontSynchronize(boolean dontSynchronize)
-  {
-    delete.setDontSynchronize(dontSynchronize);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void setErrorMessage(StringBuilder errorMessage)
-  {
-    delete.setErrorMessage(errorMessage);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void setInternalOperation(boolean isInternalOperation)
-  {
-    delete.setInternalOperation(isInternalOperation);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void setMatchedDN(DN matchedDN)
-  {
-    delete.setMatchedDN(matchedDN);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void setProcessingStartTime()
-  {
-    delete.setProcessingStartTime();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void setProcessingStopTime()
-  {
-    delete.setProcessingStopTime();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
   public void setRawEntryDN(ByteString rawEntryDN)
   {
     delete.setRawEntryDN(rawEntryDN);
@@ -489,38 +80,6 @@
   /**
    * {@inheritDoc}
    */
-  public void setReferralURLs(List<String> referralURLs)
-  {
-    delete.setReferralURLs(referralURLs);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void setResponseData(DirectoryException directoryException)
-  {
-    delete.setResponseData(directoryException);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void setResultCode(ResultCode resultCode)
-  {
-    delete.setResultCode(resultCode);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void setSynchronizationOperation(boolean isSynchronizationOperation)
-  {
-    delete.setSynchronizationOperation(isSynchronizationOperation);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
   public final long getChangeNumber()
   {
     return delete.getChangeNumber();
@@ -545,14 +104,6 @@
   /**
    * {@inheritDoc}
    */
-  public void toString(StringBuilder buffer)
-  {
-    delete.toString(buffer);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
   public DN getProxiedAuthorizationDN()
   {
     return delete.getProxiedAuthorizationDN();
diff --git a/opendj-sdk/opends/src/server/org/opends/server/core/ModifyOperationWrapper.java b/opendj-sdk/opends/src/server/org/opends/server/core/ModifyOperationWrapper.java
index 46968f3..f31843e 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/core/ModifyOperationWrapper.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/core/ModifyOperationWrapper.java
@@ -26,30 +26,24 @@
  */
 package org.opends.server.core;
 
-import java.util.List;
-import java.util.Map;
 
-import org.opends.server.api.ClientConnection;
+import java.util.List;
 import org.opends.server.types.ByteString;
-import org.opends.server.types.CancelRequest;
-import org.opends.server.types.CancelResult;
-import org.opends.server.types.Control;
 import org.opends.server.types.DN;
 import org.opends.server.types.DirectoryException;
-import org.opends.server.types.DisconnectReason;
-import org.opends.server.types.Entry;
 import org.opends.server.types.Modification;
-import org.opends.server.types.OperationType;
 import org.opends.server.types.RawModification;
-import org.opends.server.types.ResultCode;
+
 
 /**
  * This abstract class wraps/decorates a given modify operation.
  * This class will be extended by sub-classes to enhance the
  * functionnality of the ModifyOperationBasis.
  */
-public abstract class ModifyOperationWrapper implements ModifyOperation
+public abstract class ModifyOperationWrapper extends OperationWrapper
+       implements ModifyOperation
 {
+  // The wrapped operation.
   private ModifyOperation modify;
 
   /**
@@ -57,7 +51,9 @@
    *
    * @param modify The modify operation to wrap
    */
-  protected ModifyOperationWrapper(ModifyOperation modify){
+  protected ModifyOperationWrapper(ModifyOperation modify)
+  {
+    super(modify);
     this.modify = modify;
   }
 
@@ -81,40 +77,6 @@
   /**
    * {@inheritDoc}
    */
-  public void addResponseControl(Control control)
-  {
-    modify.addResponseControl(control);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public CancelResult cancel(CancelRequest cancelRequest)
-  {
-    return modify.cancel(cancelRequest);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void disconnectClient(DisconnectReason disconnectReason,
-      boolean sendNotification, String message, int messageID)
-  {
-    modify.disconnectClient(disconnectReason, sendNotification,
-        message, messageID);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public boolean dontSynchronize()
-  {
-    return modify.dontSynchronize();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
   public boolean equals(Object obj)
   {
     return modify.equals(obj);
@@ -123,14 +85,6 @@
   /**
    * {@inheritDoc}
    */
-  public CancelRequest getCancelRequest()
-  {
-    return modify.getCancelRequest();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
   public DN getEntryDN()
   {
     return modify.getEntryDN();
@@ -147,38 +101,6 @@
   /**
    * {@inheritDoc}
    */
-  public OperationType getOperationType()
-  {
-    return modify.getOperationType();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public long getProcessingStartTime()
-  {
-    return modify.getProcessingStartTime();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public long getProcessingStopTime()
-  {
-    return modify.getProcessingStopTime();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public long getProcessingTime()
-  {
-    return modify.getProcessingTime();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
   public ByteString getRawEntryDN()
   {
     return modify.getRawEntryDN();
@@ -195,30 +117,6 @@
   /**
    * {@inheritDoc}
    */
-  public String[][] getRequestLogElements()
-  {
-    return modify.getRequestLogElements();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public List<Control> getResponseControls()
-  {
-    return modify.getResponseControls();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public String[][] getResponseLogElements()
-  {
-    return modify.getResponseLogElements();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
   public int hashCode()
   {
     return modify.hashCode();
@@ -227,21 +125,6 @@
   /**
    * {@inheritDoc}
    */
-  public void removeResponseControl(Control control)
-  {
-    modify.removeResponseControl(control);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public boolean setCancelRequest(CancelRequest cancelRequest){
-    return modify.setCancelRequest(cancelRequest);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
   public void setRawEntryDN(ByteString rawEntryDN)
   {
     modify.setRawEntryDN(rawEntryDN);
@@ -258,332 +141,6 @@
   /**
    * {@inheritDoc}
    */
-  public void toString(StringBuilder buffer)
-  {
-    modify.toString(buffer);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void setProcessingStopTime(){
-    modify.setProcessingStopTime();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void setProcessingStartTime(){
-    modify.setProcessingStopTime();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void addRequestControl(Control control)
-  {
-    modify.addRequestControl(control);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void appendAdditionalLogMessage(String message)
-  {
-    modify.appendAdditionalLogMessage(message);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void appendErrorMessage(String message)
-  {
-    modify.appendErrorMessage(message);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public StringBuilder getAdditionalLogMessage()
-  {
-    return modify.getAdditionalLogMessage();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public Object getAttachment(String name)
-  {
-    return modify.getAttachment(name);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public Map<String, Object> getAttachments()
-  {
-    return modify.getAttachments();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public DN getAuthorizationDN()
-  {
-    return modify.getAuthorizationDN();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public Entry getAuthorizationEntry()
-  {
-    return modify.getAuthorizationEntry();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public CancelResult getCancelResult()
-  {
-    return modify.getCancelResult();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public ClientConnection getClientConnection()
-  {
-    return modify.getClientConnection();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public String[][] getCommonLogElements()
-  {
-    return modify.getCommonLogElements();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public long getConnectionID()
-  {
-    return modify.getConnectionID();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public StringBuilder getErrorMessage()
-  {
-    return modify.getErrorMessage();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public DN getMatchedDN()
-  {
-    return modify.getMatchedDN();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public int getMessageID()
-  {
-    return modify.getMessageID();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public long getOperationID()
-  {
-    return modify.getOperationID();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public List<String> getReferralURLs()
-  {
-    return modify.getReferralURLs();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public List<Control> getRequestControls()
-  {
-    return modify.getRequestControls();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public ResultCode getResultCode()
-  {
-    return modify.getResultCode();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void indicateCancelled(CancelRequest cancelRequest)
-  {
-    modify.indicateCancelled(cancelRequest);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public boolean isInternalOperation()
-  {
-    return modify.isInternalOperation();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public boolean isSynchronizationOperation()
-  {
-    return modify.isSynchronizationOperation();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void operationCompleted()
-  {
-    modify.operationCompleted();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public Object removeAttachment(String name)
-  {
-    return modify.removeAttachment(name);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void removeRequestControl(Control control)
-  {
-    modify.removeRequestControl(control);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void setAdditionalLogMessage(StringBuilder additionalLogMessage)
-  {
-    modify.setAdditionalLogMessage(additionalLogMessage);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public Object setAttachment(String name, Object value)
-  {
-    return modify.setAttachment(name, value);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void setAttachments(Map<String, Object> attachments)
-  {
-    modify.setAttachments(attachments);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void setAuthorizationEntry(Entry authorizationEntry)
-  {
-    modify.setAuthorizationEntry(authorizationEntry);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void setCancelResult(CancelResult cancelResult)
-  {
-    modify.setCancelResult(cancelResult);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void setDontSynchronize(boolean dontSynchronize)
-  {
-    modify.setDontSynchronize(dontSynchronize);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void setErrorMessage(StringBuilder errorMessage)
-  {
-    modify.setErrorMessage(errorMessage);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void setInternalOperation(boolean isInternalOperation)
-  {
-    modify.setInternalOperation(isInternalOperation);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void setMatchedDN(DN matchedDN)
-  {
-    modify.setMatchedDN(matchedDN);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void setReferralURLs(List<String> referralURLs)
-  {
-    modify.setReferralURLs(referralURLs);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void setResponseData(DirectoryException directoryException)
-  {
-    modify.setResponseData(directoryException);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void setResultCode(ResultCode resultCode)
-  {
-    modify.setResultCode(resultCode);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void setSynchronizationOperation(boolean isSynchronizationOperation)
-  {
-    modify.setSynchronizationOperation(isSynchronizationOperation);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
   public String toString()
   {
     return modify.toString();
diff --git a/opendj-sdk/opends/src/server/org/opends/server/core/SearchOperationWrapper.java b/opendj-sdk/opends/src/server/org/opends/server/core/SearchOperationWrapper.java
index 415da2e..0673335 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/core/SearchOperationWrapper.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/core/SearchOperationWrapper.java
@@ -26,36 +26,32 @@
  */
 package org.opends.server.core;
 
+
 import java.util.LinkedHashSet;
 import java.util.List;
-import java.util.Map;
-
-import org.opends.server.api.ClientConnection;
 import org.opends.server.controls.MatchedValuesControl;
 import org.opends.server.types.ByteString;
-import org.opends.server.types.CancelRequest;
-import org.opends.server.types.CancelResult;
 import org.opends.server.types.Control;
 import org.opends.server.types.DN;
 import org.opends.server.types.DereferencePolicy;
 import org.opends.server.types.DirectoryException;
-import org.opends.server.types.DisconnectReason;
 import org.opends.server.types.Entry;
-import org.opends.server.types.OperationType;
 import org.opends.server.types.RawFilter;
-import org.opends.server.types.ResultCode;
 import org.opends.server.types.SearchFilter;
 import org.opends.server.types.SearchResultEntry;
 import org.opends.server.types.SearchResultReference;
 import org.opends.server.types.SearchScope;
 
+
 /**
  * This abstract class wraps/decorates a given search operation.
  * This class will be extended by sub-classes to enhance the
  * functionnality of the SearchOperationBasis.
  */
-public abstract class SearchOperationWrapper implements SearchOperation
+public abstract class SearchOperationWrapper extends OperationWrapper
+       implements SearchOperation
 {
+  // The wrapped operation.
   private SearchOperation search;
 
   /**
@@ -63,319 +59,15 @@
    *
    * @param search The search operation to wrap
    */
-  protected SearchOperationWrapper(SearchOperation search){
+  protected SearchOperationWrapper(SearchOperation search)
+  {
+    super(search);
     this.search = search;
   }
 
   /**
    * {@inheritDoc}
    */
-  public void addRequestControl(Control control)
-  {
-    search.addRequestControl(control);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void addResponseControl(Control control)
-  {
-    search.addResponseControl(control);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void appendAdditionalLogMessage(String message)
-  {
-    search.appendAdditionalLogMessage(message);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void appendErrorMessage(String message)
-  {
-    search.appendErrorMessage(message);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public CancelResult cancel(CancelRequest cancelRequest)
-  {
-    return search.cancel(cancelRequest);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void disconnectClient(DisconnectReason disconnectReason,
-      boolean sendNotification, String message, int messageID)
-  {
-    search.disconnectClient(disconnectReason, sendNotification, message,
-        messageID);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public boolean dontSynchronize()
-  {
-    return search.dontSynchronize();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public StringBuilder getAdditionalLogMessage()
-  {
-    return search.getAdditionalLogMessage();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public Object getAttachment(String name)
-  {
-    return search.getAttachment(name);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public Map<String, Object> getAttachments()
-  {
-    return search.getAttachments();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public DN getAuthorizationDN()
-  {
-    return search.getAuthorizationDN();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public Entry getAuthorizationEntry()
-  {
-    return search.getAuthorizationEntry();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public CancelRequest getCancelRequest()
-  {
-    return search.getCancelRequest();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public CancelResult getCancelResult()
-  {
-    return search.getCancelResult();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public ClientConnection getClientConnection()
-  {
-    return search.getClientConnection();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public String[][] getCommonLogElements()
-  {
-    return search.getCommonLogElements();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public long getConnectionID()
-  {
-    return search.getConnectionID();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public StringBuilder getErrorMessage()
-  {
-    return search.getErrorMessage();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public DN getMatchedDN()
-  {
-    return search.getMatchedDN();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public int getMessageID()
-  {
-    return search.getMessageID();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public long getOperationID()
-  {
-    return search.getOperationID();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public OperationType getOperationType()
-  {
-    return search.getOperationType();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public long getProcessingStartTime()
-  {
-    return search.getProcessingStartTime();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public long getProcessingStopTime()
-  {
-    return search.getProcessingStopTime();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public long getProcessingTime()
-  {
-    return search.getProcessingTime();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public List<String> getReferralURLs()
-  {
-    return search.getReferralURLs();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public List<Control> getRequestControls()
-  {
-    return search.getRequestControls();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public String[][] getRequestLogElements()
-  {
-    return search.getRequestLogElements();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public List<Control> getResponseControls()
-  {
-    return search.getResponseControls();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public String[][] getResponseLogElements()
-  {
-    return search.getResponseLogElements();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public ResultCode getResultCode()
-  {
-    return search.getResultCode();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void indicateCancelled(CancelRequest cancelRequest)
-  {
-    search.indicateCancelled(cancelRequest);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public boolean isInternalOperation()
-  {
-    return search.isInternalOperation();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public boolean isSynchronizationOperation()
-  {
-    return search.isSynchronizationOperation();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void operationCompleted()
-  {
-    search.operationCompleted();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public Object removeAttachment(String name)
-  {
-    return search.removeAttachment(name);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void removeRequestControl(Control control)
-  {
-    search.removeRequestControl(control);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void removeResponseControl(Control control)
-  {
-    search.removeResponseControl(control);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
   public boolean returnEntry(Entry entry, List<Control> controls)
   {
     return search.returnEntry(entry, controls);
@@ -392,134 +84,6 @@
   /**
    * {@inheritDoc}
    */
-  public void setAdditionalLogMessage(StringBuilder additionalLogMessage)
-  {
-    search.setAdditionalLogMessage(additionalLogMessage);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public Object setAttachment(String name, Object value)
-  {
-    return search.setAttachment(name, value);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void setAttachments(Map<String, Object> attachments)
-  {
-    search.setAttachments(attachments);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void setAuthorizationEntry(Entry authorizationEntry)
-  {
-    search.setAuthorizationEntry(authorizationEntry);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public boolean setCancelRequest(CancelRequest cancelRequest)
-  {
-    return search.setCancelRequest(cancelRequest);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void setCancelResult(CancelResult cancelResult)
-  {
-    search.setCancelResult(cancelResult);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void setDontSynchronize(boolean dontSynchronize)
-  {
-    search.setDontSynchronize(dontSynchronize);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void setErrorMessage(StringBuilder errorMessage)
-  {
-    search.setErrorMessage(errorMessage);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void setInternalOperation(boolean isInternalOperation)
-  {
-    search.setInternalOperation(isInternalOperation);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void setMatchedDN(DN matchedDN)
-  {
-    search.setMatchedDN(matchedDN);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void setProcessingStartTime()
-  {
-    search.setProcessingStartTime();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void setProcessingStopTime()
-  {
-    search.setProcessingStopTime();
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void setReferralURLs(List<String> referralURLs)
-  {
-    search.setReferralURLs(referralURLs);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void setResponseData(DirectoryException directoryException)
-  {
-    search.setResponseData(directoryException);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void setResultCode(ResultCode resultCode)
-  {
-    search.setResultCode(resultCode);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
-  public void setSynchronizationOperation(boolean isSynchronizationOperation)
-  {
-    search.setSynchronizationOperation(isSynchronizationOperation);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
   public String toString()
   {
     return search.toString();
@@ -528,14 +92,6 @@
   /**
    * {@inheritDoc}
    */
-  public void toString(StringBuilder buffer)
-  {
-    search.toString(buffer);
-  }
-
-  /**
-   * {@inheritDoc}
-   */
   public LinkedHashSet<String> getAttributes()
   {
     return search.getAttributes();

--
Gitblit v1.10.0