From 02d3bf611bd9d4c33d8ae74d320790cfb0495d8e Mon Sep 17 00:00:00 2001
From: matthew_swift <matthew_swift@localhost>
Date: Thu, 03 May 2007 09:37:28 +0000
Subject: [PATCH] Three introspection related changes required in order to support the CLI:

---
 opends/src/server/org/opends/server/admin/ManagedObjectPathSerializer.java |   67 +++++++++++++++++++++++++--------
 1 files changed, 51 insertions(+), 16 deletions(-)

diff --git a/opends/src/server/org/opends/server/admin/ManagedObjectPathSerializer.java b/opends/src/server/org/opends/server/admin/ManagedObjectPathSerializer.java
index 3c4cd55..df164c1 100644
--- a/opends/src/server/org/opends/server/admin/ManagedObjectPathSerializer.java
+++ b/opends/src/server/org/opends/server/admin/ManagedObjectPathSerializer.java
@@ -31,48 +31,83 @@
 /**
  * A strategy for serializing managed object paths.
  * <p>
- * This interface provides a generic means for serializing managed object paths
- * into application specific forms. For example, a JNDI client would use this
- * interface to construct <code>LdapName</code> objects from a path.
- * Similarly, on the server side, a serialization strategy is used to construct
- * <code>DN</code> instances from a path.
+ * This interface provides a generic means for serializing managed
+ * object paths into application specific forms. For example, a JNDI
+ * client would use this interface to construct <code>LdapName</code>
+ * objects from a path. Similarly, on the server side, a serialization
+ * strategy is used to construct <code>DN</code> instances from a
+ * path.
  * <p>
- * During serialization the serializer is invoked for each element in the
- * managed object path in big-endian order, starting from the root and
- * proceeding down to the leaf element.
+ * During serialization the serializer is invoked for each element in
+ * the managed object path in big-endian order, starting from the root
+ * and proceeding down to the leaf element.
  */
 public interface ManagedObjectPathSerializer {
 
   /**
-   * Append a managed object path element identified by an instantiable relation
-   * and an instance name.
+   * Append a managed object path element identified by an
+   * instantiable relation and an instance name.
    *
+   * @param <C>
+   *          The type of client managed object configuration that
+   *          this path element references.
+   * @param <S>
+   *          The type of server managed object configuration that
+   *          this path element references.
    * @param r
    *          The instantiable relation.
+   * @param d
+   *          The managed object definition.
    * @param name
    *          The instance name.
    */
-  void appendManagedObjectPathElement(InstantiableRelationDefinition<?, ?> r,
-      String name);
+  <C extends ConfigurationClient, S extends Configuration>
+      void appendManagedObjectPathElement(
+      InstantiableRelationDefinition<? super C, ? super S> r,
+      AbstractManagedObjectDefinition<C, S> d, String name);
 
 
 
   /**
-   * Append a managed object path element identified by a optional relation.
+   * Append a managed object path element identified by an optional
+   * relation.
    *
+   * @param <C>
+   *          The type of client managed object configuration that
+   *          this path element references.
+   * @param <S>
+   *          The type of server managed object configuration that
+   *          this path element references.
    * @param r
    *          The optional relation.
+   * @param d
+   *          The managed object definition.
    */
-  void appendManagedObjectPathElement(OptionalRelationDefinition<?, ?> r);
+  <C extends ConfigurationClient, S extends Configuration>
+      void appendManagedObjectPathElement(
+      OptionalRelationDefinition<? super C, ? super S> r,
+      AbstractManagedObjectDefinition<C, S> d);
 
 
 
   /**
-   * Append a managed object path element identified by a singleton relation.
+   * Append a managed object path element identified by a singleton
+   * relation.
    *
+   * @param <C>
+   *          The type of client managed object configuration that
+   *          this path element references.
+   * @param <S>
+   *          The type of server managed object configuration that
+   *          this path element references.
    * @param r
    *          The singleton relation.
+   * @param d
+   *          The managed object definition.
    */
-  void appendManagedObjectPathElement(SingletonRelationDefinition<?, ?> r);
+  <C extends ConfigurationClient, S extends Configuration>
+      void appendManagedObjectPathElement(
+      SingletonRelationDefinition<? super C, ? super S> r,
+      AbstractManagedObjectDefinition<C, S> d);
 
 }

--
Gitblit v1.10.0