From feb5d90ec016c99712f19c5485cf7633cd38f111 Mon Sep 17 00:00:00 2001
From: matthew_swift <matthew_swift@localhost>
Date: Fri, 23 Mar 2007 14:26:04 +0000
Subject: [PATCH] Merge admin framework from config-prototype-branch onto trunk.

---
 opends/src/server/org/opends/server/api/ConnectionHandler.java |   99 ++++++++++++++++++++++++-------------------------
 1 files changed, 49 insertions(+), 50 deletions(-)

diff --git a/opends/src/server/org/opends/server/api/ConnectionHandler.java b/opends/src/server/org/opends/server/api/ConnectionHandler.java
index aa08754..dc946ab 100644
--- a/opends/src/server/org/opends/server/api/ConnectionHandler.java
+++ b/opends/src/server/org/opends/server/api/ConnectionHandler.java
@@ -29,7 +29,8 @@
 
 
 import java.util.Collection;
-import org.opends.server.config.ConfigEntry;
+
+import org.opends.server.admin.std.server.*;
 import org.opends.server.config.ConfigException;
 import org.opends.server.monitors.ConnectionHandlerMonitor;
 import org.opends.server.types.HostPort;
@@ -37,16 +38,17 @@
 
 
 
-
 /**
  * This class defines the set of methods and structures that must be
  * implemented by a Directory Server connection handler.
+ *
+ * @param <T>
+ *          The type of connection handler configuration handled by
+ *          this connection handler implementation.
  */
 public abstract class ConnectionHandler
-       extends DirectoryThread
-{
-
-
+    <T extends ConnectionHandlerCfg>
+    extends DirectoryThread {
 
   // The monitor associated with this connection handler.
   private ConnectionHandlerMonitor monitor;
@@ -54,15 +56,15 @@
 
 
   /**
-   * Creates a new instance of this connection handler.  This must be
+   * Creates a new instance of this connection handler. This must be
    * called by all connection handlers, and all connection handlers
    * must provide default constructors (i.e., those that do not take
    * any arguments) that invoke this constructor.
    *
-   * @param  threadName  The name to use for this thread.
+   * @param threadName
+   *          The name to use for this thread.
    */
-  protected ConnectionHandler(String threadName)
-  {
+  protected ConnectionHandler(String threadName) {
     super(threadName);
 
     monitor = null;
@@ -71,46 +73,24 @@
 
 
   /**
-   * Initializes this connection handler based on the information in
-   * the provided configuration entry.
-   *
-   * @param  configEntry  The configuration entry that contains the
-   *                      information to use to initialize this
-   *                      connection handler.
-   *
-   * @throws  ConfigException  If there is a problem with the
-   *                           configuration for this connection
-   *                           handler.
-   *
-   * @throws  InitializationException  If a problem occurs while
-   *                                   attempting to initialize this
-   *                                   connection handler.
-   */
-  public abstract void initializeConnectionHandler(
-                            ConfigEntry configEntry)
-         throws ConfigException, InitializationException;
-
-
-
-  /**
    * Closes this connection handler so that it will no longer accept
-   * new client connections.  It may or may not disconnect existing
-   * client connections based on the provided flag.  Note, however,
+   * new client connections. It may or may not disconnect existing
+   * client connections based on the provided flag. Note, however,
    * that some connection handler implementations may not have any way
    * to continue processing requests from existing connections, in
    * which case they should always be closed regardless of the value
    * of the <CODE>closeConnections</CODE> flag.
    *
-   * @param  finalizeReason    The reason that this connection handler
-   *                           should be finalized.
-   * @param  closeConnections  Indicates whether any established
-   *                           client connections associated with the
-   *                           connection handler should also be
-   *                           closed.
+   * @param finalizeReason
+   *          The reason that this connection handler should be
+   *          finalized.
+   * @param closeConnections
+   *          Indicates whether any established client connections
+   *          associated with the connection handler should also be
+   *          closed.
    */
   public abstract void finalizeConnectionHandler(
-                            String finalizeReason,
-                            boolean closeConnections);
+      String finalizeReason, boolean closeConnections);
 
 
 
@@ -156,14 +136,35 @@
    * Retrieves the set of active client connections that have been
    * established through this connection handler.
    *
-   * @return  The set of active client connections that have been
-   *          established through this connection handler.
+   * @return The set of active client connections that have been
+   *         established through this connection handler.
    */
   public abstract Collection<ClientConnection> getClientConnections();
 
 
 
   /**
+   * Initializes this connection handler provider based on the
+   * information in the provided connection handler configuration.
+   *
+   * @param configuration
+   *          The connection handler configuration that contains the
+   *          information to use to initialize this connection
+   *          handler.
+   * @throws ConfigException
+   *           If an unrecoverable problem arises in the process of
+   *           performing the initialization as a result of the server
+   *           configuration.
+   * @throws InitializationException
+   *           If a problem occurs during initialization that is not
+   *           related to the server configuration.
+   */
+  public abstract void initializeConnectionHandler(T configuration)
+      throws ConfigException, InitializationException;
+
+
+
+  /**
    * Operates in a loop, accepting new connections and ensuring that
    * requests on those connections are handled properly.
    */
@@ -201,10 +202,9 @@
   /**
    * Retrieves a string representation of this connection handler.
    *
-   * @return  A string representation of this connection handler.
+   * @return A string representation of this connection handler.
    */
-  public String toString()
-  {
+  public String toString() {
     StringBuilder buffer = new StringBuilder();
     toString(buffer);
     return buffer.toString();
@@ -216,9 +216,8 @@
    * Appends a string representation of this connection handler to the
    * provided buffer.
    *
-   * @param  buffer  The buffer to which the information should be
-   *                 appended.
+   * @param buffer
+   *          The buffer to which the information should be appended.
    */
   public abstract void toString(StringBuilder buffer);
 }
-

--
Gitblit v1.10.0