From 96483a719fbc07f7b1ab1e1aed482743634a615e Mon Sep 17 00:00:00 2001
From: matthew_swift <matthew_swift@localhost>
Date: Thu, 01 Jul 2010 14:35:48 +0000
Subject: [PATCH] Split Types utility class into Attributes and Entries sub-classes so that they are easier to find.

---
 sdk/src/org/opends/sdk/controls/PreReadResponseControl.java       |    6 
 sdk/src/org/opends/sdk/AbstractEntry.java                         |    5 
 sdk/tests/unit-tests-testng/src/org/opends/sdk/TypesTestCase.java |   12 
 sdk/src/org/opends/sdk/Entries.java                               |  351 +++++++++++++++++++++++++++++
 sdk/src/org/opends/sdk/Attributes.java                            |  312 -------------------------
 sdk/src/org/opends/sdk/controls/PostReadResponseControl.java      |    6 
 sdk/tests/unit-tests-testng/src/org/opends/sdk/LDAPServer.java    |    5 
 7 files changed, 373 insertions(+), 324 deletions(-)

diff --git a/sdk/src/org/opends/sdk/AbstractEntry.java b/sdk/src/org/opends/sdk/AbstractEntry.java
index 8a6379a..6898a9a 100644
--- a/sdk/src/org/opends/sdk/AbstractEntry.java
+++ b/sdk/src/org/opends/sdk/AbstractEntry.java
@@ -22,7 +22,7 @@
  * CDDL HEADER END
  *
  *
- *      Copyright 2009 Sun Microsystems, Inc.
+ *      Copyright 2009-2010 Sun Microsystems, Inc.
  */
 
 package org.opends.sdk;
@@ -311,7 +311,8 @@
   public boolean removeAttribute(final AttributeDescription attributeDescription)
       throws UnsupportedOperationException, NullPointerException
   {
-    return removeAttribute(Types.emptyAttribute(attributeDescription), null);
+    return removeAttribute(
+        Attributes.emptyAttribute(attributeDescription), null);
   }
 
 
diff --git a/sdk/src/org/opends/sdk/Types.java b/sdk/src/org/opends/sdk/Attributes.java
similarity index 66%
rename from sdk/src/org/opends/sdk/Types.java
rename to sdk/src/org/opends/sdk/Attributes.java
index c8cbd29..1ae5c2a 100644
--- a/sdk/src/org/opends/sdk/Types.java
+++ b/sdk/src/org/opends/sdk/Attributes.java
@@ -22,7 +22,7 @@
  * CDDL HEADER END
  *
  *
- *      Copyright 2009 Sun Microsystems, Inc.
+ *      Copyright 2010 Sun Microsystems, Inc.
  */
 
 package org.opends.sdk;
@@ -35,18 +35,15 @@
 
 import org.opends.sdk.schema.AttributeType;
 
-import com.sun.opends.sdk.util.Function;
-import com.sun.opends.sdk.util.Iterables;
 import com.sun.opends.sdk.util.Iterators;
 import com.sun.opends.sdk.util.Validator;
 
 
 
 /**
- * This class contains methods for creating and manipulating attributes,
- * entries, and other types of object.
+ * This class contains methods for creating and manipulating attributes.
  */
-public final class Types
+public final class Attributes
 {
 
   /**
@@ -546,286 +543,6 @@
 
 
 
-  private static final class UnmodifiableEntry implements Entry
-  {
-    private final Entry entry;
-
-
-
-    private UnmodifiableEntry(final Entry entry)
-    {
-      this.entry = entry;
-    }
-
-
-
-    /**
-     * {@inheritDoc}
-     */
-    public boolean addAttribute(final Attribute attribute)
-        throws UnsupportedOperationException, NullPointerException
-    {
-      throw new UnsupportedOperationException();
-    }
-
-
-
-    /**
-     * {@inheritDoc}
-     */
-    public boolean addAttribute(final Attribute attribute,
-        final Collection<ByteString> duplicateValues)
-        throws UnsupportedOperationException, NullPointerException
-    {
-      throw new UnsupportedOperationException();
-    }
-
-
-
-    /**
-     * {@inheritDoc}
-     */
-    public Entry addAttribute(final String attributeDescription,
-        final Object... values) throws LocalizedIllegalArgumentException,
-        UnsupportedOperationException, NullPointerException
-    {
-      throw new UnsupportedOperationException();
-    }
-
-
-
-    public Entry clearAttributes() throws UnsupportedOperationException
-    {
-      throw new UnsupportedOperationException();
-    }
-
-
-
-    public boolean containsAttribute(final Attribute attribute,
-        final Collection<ByteString> missingValues) throws NullPointerException
-    {
-      return entry.containsAttribute(attribute, missingValues);
-    }
-
-
-
-    public boolean containsAttribute(final String attributeDescription,
-        final Object... values) throws LocalizedIllegalArgumentException,
-        NullPointerException
-    {
-      return entry.containsAttribute(attributeDescription, values);
-    }
-
-
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public boolean equals(final Object object)
-    {
-      return (object == this || entry.equals(object));
-    }
-
-
-
-    public Iterable<Attribute> getAllAttributes()
-    {
-      return Iterables.unmodifiable(Iterables.transform(entry
-          .getAllAttributes(), UNMODIFIABLE_ATTRIBUTE_FUNCTION));
-    }
-
-
-
-    public Iterable<Attribute> getAllAttributes(
-        final AttributeDescription attributeDescription)
-    {
-      return Iterables.unmodifiable(Iterables.transform(entry
-          .getAllAttributes(attributeDescription),
-          UNMODIFIABLE_ATTRIBUTE_FUNCTION));
-    }
-
-
-
-    /**
-     * {@inheritDoc}
-     */
-    public Iterable<Attribute> getAllAttributes(
-        final String attributeDescription)
-        throws LocalizedIllegalArgumentException, NullPointerException
-    {
-      return Iterables.unmodifiable(Iterables.transform(entry
-          .getAllAttributes(attributeDescription),
-          UNMODIFIABLE_ATTRIBUTE_FUNCTION));
-    }
-
-
-
-    public Attribute getAttribute(
-        final AttributeDescription attributeDescription)
-    {
-      final Attribute attribute = entry.getAttribute(attributeDescription);
-      if (attribute != null)
-      {
-        return unmodifiableAttribute(attribute);
-      }
-      else
-      {
-        return null;
-      }
-    }
-
-
-
-    /**
-     * {@inheritDoc}
-     */
-    public Attribute getAttribute(final String attributeDescription)
-        throws LocalizedIllegalArgumentException, NullPointerException
-    {
-      final Attribute attribute = entry.getAttribute(attributeDescription);
-      if (attribute != null)
-      {
-        return unmodifiableAttribute(attribute);
-      }
-      else
-      {
-        return null;
-      }
-    }
-
-
-
-    public int getAttributeCount()
-    {
-      return entry.getAttributeCount();
-    }
-
-
-
-    /**
-     * {@inheritDoc}
-     */
-    public DN getName()
-    {
-      return entry.getName();
-    }
-
-
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public int hashCode()
-    {
-      return entry.hashCode();
-    }
-
-
-
-    /**
-     * {@inheritDoc}
-     */
-    public boolean removeAttribute(final Attribute attribute,
-        final Collection<ByteString> missingValues)
-        throws UnsupportedOperationException, NullPointerException
-    {
-      throw new UnsupportedOperationException();
-    }
-
-
-
-    public boolean removeAttribute(
-        final AttributeDescription attributeDescription)
-        throws UnsupportedOperationException, NullPointerException
-    {
-      throw new UnsupportedOperationException();
-    }
-
-
-
-    /**
-     * {@inheritDoc}
-     */
-    public Entry removeAttribute(final String attributeDescription,
-        final Object... values) throws LocalizedIllegalArgumentException,
-        UnsupportedOperationException, NullPointerException
-    {
-      throw new UnsupportedOperationException();
-    }
-
-
-
-    /**
-     * {@inheritDoc}
-     */
-    public boolean replaceAttribute(final Attribute attribute)
-        throws UnsupportedOperationException, NullPointerException
-    {
-      throw new UnsupportedOperationException();
-    }
-
-
-
-    /**
-     * {@inheritDoc}
-     */
-    public Entry replaceAttribute(final String attributeDescription,
-        final Object... values) throws LocalizedIllegalArgumentException,
-        UnsupportedOperationException, NullPointerException
-    {
-      throw new UnsupportedOperationException();
-    }
-
-
-
-    public Entry setName(final DN dn) throws UnsupportedOperationException,
-        NullPointerException
-    {
-      throw new UnsupportedOperationException();
-    }
-
-
-
-    /**
-     * {@inheritDoc}
-     */
-    public Entry setName(final String dn)
-        throws LocalizedIllegalArgumentException,
-        UnsupportedOperationException, NullPointerException
-    {
-      throw new UnsupportedOperationException();
-    }
-
-
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public String toString()
-    {
-      return entry.toString();
-    }
-
-  }
-
-
-
-  private static final Function<Attribute, Attribute, Void>
-    UNMODIFIABLE_ATTRIBUTE_FUNCTION = new Function<Attribute, Attribute, Void>()
-  {
-
-    public Attribute apply(final Attribute value, final Void p)
-    {
-      return unmodifiableAttribute(value);
-    }
-
-  };
-
-
-
   /**
    * Returns a read-only empty attribute having the specified attribute
    * description.
@@ -902,29 +619,8 @@
 
 
 
-  /**
-   * Returns a read-only view of {@code entry} and its attributes. Query
-   * operations on the returned entry and its attributes"read-through" to the
-   * underlying entry or attribute, and attempts to modify the returned entry
-   * and its attributes either directly or indirectly via an iterator result in
-   * an {@code UnsupportedOperationException}.
-   *
-   * @param entry
-   *          The entry for which a read-only view is to be returned.
-   * @return A read-only view of {@code entry}.
-   * @throws NullPointerException
-   *           If {@code entry} was {@code null}.
-   */
-  public static final Entry unmodifiableEntry(final Entry entry)
-      throws NullPointerException
-  {
-    return new UnmodifiableEntry(entry);
-  }
-
-
-
   // Prevent instantiation.
-  private Types()
+  private Attributes()
   {
     // Nothing to do.
   }
diff --git a/sdk/src/org/opends/sdk/Entries.java b/sdk/src/org/opends/sdk/Entries.java
new file mode 100644
index 0000000..14fbaae
--- /dev/null
+++ b/sdk/src/org/opends/sdk/Entries.java
@@ -0,0 +1,351 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License").  You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at
+ * trunk/opends/resource/legal-notices/OpenDS.LICENSE
+ * or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at
+ * trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
+ * add the following below this CDDL HEADER, with the fields enclosed
+ * by brackets "[]" replaced with your own identifying information:
+ *      Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ *
+ *
+ *      Copyright 2010 Sun Microsystems, Inc.
+ */
+
+package org.opends.sdk;
+
+
+
+import java.util.Collection;
+
+import com.sun.opends.sdk.util.Function;
+import com.sun.opends.sdk.util.Iterables;
+
+
+
+/**
+ * This class contains methods for creating and manipulating entries.
+ */
+public final class Entries
+{
+
+  private static final class UnmodifiableEntry implements Entry
+  {
+    private final Entry entry;
+
+
+
+    private UnmodifiableEntry(final Entry entry)
+    {
+      this.entry = entry;
+    }
+
+
+
+    /**
+     * {@inheritDoc}
+     */
+    public boolean addAttribute(final Attribute attribute)
+        throws UnsupportedOperationException, NullPointerException
+    {
+      throw new UnsupportedOperationException();
+    }
+
+
+
+    /**
+     * {@inheritDoc}
+     */
+    public boolean addAttribute(final Attribute attribute,
+        final Collection<ByteString> duplicateValues)
+        throws UnsupportedOperationException, NullPointerException
+    {
+      throw new UnsupportedOperationException();
+    }
+
+
+
+    /**
+     * {@inheritDoc}
+     */
+    public Entry addAttribute(final String attributeDescription,
+        final Object... values) throws LocalizedIllegalArgumentException,
+        UnsupportedOperationException, NullPointerException
+    {
+      throw new UnsupportedOperationException();
+    }
+
+
+
+    public Entry clearAttributes() throws UnsupportedOperationException
+    {
+      throw new UnsupportedOperationException();
+    }
+
+
+
+    public boolean containsAttribute(final Attribute attribute,
+        final Collection<ByteString> missingValues) throws NullPointerException
+    {
+      return entry.containsAttribute(attribute, missingValues);
+    }
+
+
+
+    public boolean containsAttribute(final String attributeDescription,
+        final Object... values) throws LocalizedIllegalArgumentException,
+        NullPointerException
+    {
+      return entry.containsAttribute(attributeDescription, values);
+    }
+
+
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public boolean equals(final Object object)
+    {
+      return (object == this || entry.equals(object));
+    }
+
+
+
+    public Iterable<Attribute> getAllAttributes()
+    {
+      return Iterables.unmodifiable(Iterables.transform(entry
+          .getAllAttributes(), UNMODIFIABLE_ATTRIBUTE_FUNCTION));
+    }
+
+
+
+    public Iterable<Attribute> getAllAttributes(
+        final AttributeDescription attributeDescription)
+    {
+      return Iterables.unmodifiable(Iterables.transform(entry
+          .getAllAttributes(attributeDescription),
+          UNMODIFIABLE_ATTRIBUTE_FUNCTION));
+    }
+
+
+
+    /**
+     * {@inheritDoc}
+     */
+    public Iterable<Attribute> getAllAttributes(
+        final String attributeDescription)
+        throws LocalizedIllegalArgumentException, NullPointerException
+    {
+      return Iterables.unmodifiable(Iterables.transform(entry
+          .getAllAttributes(attributeDescription),
+          UNMODIFIABLE_ATTRIBUTE_FUNCTION));
+    }
+
+
+
+    public Attribute getAttribute(
+        final AttributeDescription attributeDescription)
+    {
+      final Attribute attribute = entry.getAttribute(attributeDescription);
+      if (attribute != null)
+      {
+        return Attributes.unmodifiableAttribute(attribute);
+      }
+      else
+      {
+        return null;
+      }
+    }
+
+
+
+    /**
+     * {@inheritDoc}
+     */
+    public Attribute getAttribute(final String attributeDescription)
+        throws LocalizedIllegalArgumentException, NullPointerException
+    {
+      final Attribute attribute = entry.getAttribute(attributeDescription);
+      if (attribute != null)
+      {
+        return Attributes.unmodifiableAttribute(attribute);
+      }
+      else
+      {
+        return null;
+      }
+    }
+
+
+
+    public int getAttributeCount()
+    {
+      return entry.getAttributeCount();
+    }
+
+
+
+    /**
+     * {@inheritDoc}
+     */
+    public DN getName()
+    {
+      return entry.getName();
+    }
+
+
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public int hashCode()
+    {
+      return entry.hashCode();
+    }
+
+
+
+    /**
+     * {@inheritDoc}
+     */
+    public boolean removeAttribute(final Attribute attribute,
+        final Collection<ByteString> missingValues)
+        throws UnsupportedOperationException, NullPointerException
+    {
+      throw new UnsupportedOperationException();
+    }
+
+
+
+    public boolean removeAttribute(
+        final AttributeDescription attributeDescription)
+        throws UnsupportedOperationException, NullPointerException
+    {
+      throw new UnsupportedOperationException();
+    }
+
+
+
+    /**
+     * {@inheritDoc}
+     */
+    public Entry removeAttribute(final String attributeDescription,
+        final Object... values) throws LocalizedIllegalArgumentException,
+        UnsupportedOperationException, NullPointerException
+    {
+      throw new UnsupportedOperationException();
+    }
+
+
+
+    /**
+     * {@inheritDoc}
+     */
+    public boolean replaceAttribute(final Attribute attribute)
+        throws UnsupportedOperationException, NullPointerException
+    {
+      throw new UnsupportedOperationException();
+    }
+
+
+
+    /**
+     * {@inheritDoc}
+     */
+    public Entry replaceAttribute(final String attributeDescription,
+        final Object... values) throws LocalizedIllegalArgumentException,
+        UnsupportedOperationException, NullPointerException
+    {
+      throw new UnsupportedOperationException();
+    }
+
+
+
+    public Entry setName(final DN dn) throws UnsupportedOperationException,
+        NullPointerException
+    {
+      throw new UnsupportedOperationException();
+    }
+
+
+
+    /**
+     * {@inheritDoc}
+     */
+    public Entry setName(final String dn)
+        throws LocalizedIllegalArgumentException,
+        UnsupportedOperationException, NullPointerException
+    {
+      throw new UnsupportedOperationException();
+    }
+
+
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public String toString()
+    {
+      return entry.toString();
+    }
+
+  }
+
+
+
+  private static final Function<Attribute, Attribute, Void>
+    UNMODIFIABLE_ATTRIBUTE_FUNCTION = new Function<Attribute, Attribute, Void>()
+  {
+
+    public Attribute apply(final Attribute value, final Void p)
+    {
+      return Attributes.unmodifiableAttribute(value);
+    }
+
+  };
+
+
+
+  /**
+   * Returns a read-only view of {@code entry} and its attributes. Query
+   * operations on the returned entry and its attributes"read-through" to the
+   * underlying entry or attribute, and attempts to modify the returned entry
+   * and its attributes either directly or indirectly via an iterator result in
+   * an {@code UnsupportedOperationException}.
+   *
+   * @param entry
+   *          The entry for which a read-only view is to be returned.
+   * @return A read-only view of {@code entry}.
+   * @throws NullPointerException
+   *           If {@code entry} was {@code null}.
+   */
+  public static final Entry unmodifiableEntry(final Entry entry)
+      throws NullPointerException
+  {
+    return new UnmodifiableEntry(entry);
+  }
+
+
+
+  // Prevent instantiation.
+  private Entries()
+  {
+    // Nothing to do.
+  }
+}
diff --git a/sdk/src/org/opends/sdk/controls/PostReadResponseControl.java b/sdk/src/org/opends/sdk/controls/PostReadResponseControl.java
index ecbb514..56f7631 100644
--- a/sdk/src/org/opends/sdk/controls/PostReadResponseControl.java
+++ b/sdk/src/org/opends/sdk/controls/PostReadResponseControl.java
@@ -22,7 +22,7 @@
  * CDDL HEADER END
  *
  *
- *      Copyright 2009 Sun Microsystems, Inc.
+ *      Copyright 2009-2010 Sun Microsystems, Inc.
  */
 
 package org.opends.sdk.controls;
@@ -121,7 +121,7 @@
        * rather than an Entry. Can we assume that the response will not contain
        * a nested set of controls?
        */
-      return new PostReadResponseControl(control.isCritical(), Types
+      return new PostReadResponseControl(control.isCritical(), Entries
           .unmodifiableEntry(searchEntry));
     }
 
@@ -155,7 +155,7 @@
      * SearchResultEntry rather than an Entry. Can we assume that the response
      * will not contain a nested set of controls?
      */
-    return new PostReadResponseControl(false, Types.unmodifiableEntry(entry));
+    return new PostReadResponseControl(false, Entries.unmodifiableEntry(entry));
   }
 
 
diff --git a/sdk/src/org/opends/sdk/controls/PreReadResponseControl.java b/sdk/src/org/opends/sdk/controls/PreReadResponseControl.java
index 2854ca1..5f5953b 100644
--- a/sdk/src/org/opends/sdk/controls/PreReadResponseControl.java
+++ b/sdk/src/org/opends/sdk/controls/PreReadResponseControl.java
@@ -22,7 +22,7 @@
  * CDDL HEADER END
  *
  *
- *      Copyright 2009 Sun Microsystems, Inc.
+ *      Copyright 2009-2010 Sun Microsystems, Inc.
  */
 
 package org.opends.sdk.controls;
@@ -121,7 +121,7 @@
        * rather than an Entry. Can we assume that the response will not contain
        * a nested set of controls?
        */
-      return new PreReadResponseControl(control.isCritical(), Types
+      return new PreReadResponseControl(control.isCritical(), Entries
           .unmodifiableEntry(searchEntry));
     }
 
@@ -155,7 +155,7 @@
      * SearchResultEntry rather than an Entry. Can we assume that the response
      * will not contain a nested set of controls?
      */
-    return new PreReadResponseControl(false, Types.unmodifiableEntry(entry));
+    return new PreReadResponseControl(false, Entries.unmodifiableEntry(entry));
   }
 
 
diff --git a/sdk/tests/unit-tests-testng/src/org/opends/sdk/LDAPServer.java b/sdk/tests/unit-tests-testng/src/org/opends/sdk/LDAPServer.java
index 3021311..08cf276 100644
--- a/sdk/tests/unit-tests-testng/src/org/opends/sdk/LDAPServer.java
+++ b/sdk/tests/unit-tests-testng/src/org/opends/sdk/LDAPServer.java
@@ -157,7 +157,8 @@
   private LDAPServer()
   {
     // Add the root dse first.
-    entryMap.put(DN.rootDN(), Types.unmodifiableEntry(new LinkedHashMapEntry()));
+    entryMap.put(DN.rootDN(),
+        Entries.unmodifiableEntry(new LinkedHashMapEntry()));
     for (int i = 0; i < 1000; i++)
     {
       final String dn = String.format("uid=user.%d,ou=people,o=test", i);
@@ -169,7 +170,7 @@
       final Entry e = new LinkedHashMapEntry("dn: " + dn,
           "objectclass: person", "objectclass: inetorgperson",
           "objectclass: top", cn, sn, uid);
-      entryMap.put(d, Types.unmodifiableEntry(e));
+      entryMap.put(d, Entries.unmodifiableEntry(e));
     }
   }
 
diff --git a/sdk/tests/unit-tests-testng/src/org/opends/sdk/TypesTestCase.java b/sdk/tests/unit-tests-testng/src/org/opends/sdk/TypesTestCase.java
index fc5d201..d78ba50 100644
--- a/sdk/tests/unit-tests-testng/src/org/opends/sdk/TypesTestCase.java
+++ b/sdk/tests/unit-tests-testng/src/org/opends/sdk/TypesTestCase.java
@@ -87,10 +87,10 @@
         Schema.getCoreSchema());
     final AttributeDescription desc2 = AttributeDescription.valueOf(desc,
         Schema.getCoreSchema());
-    final Attribute attr1 = Types.emptyAttribute(desc1);
+    final Attribute attr1 = Attributes.emptyAttribute(desc1);
     try
     {
-      Types.renameAttribute(attr1, desc2);
+      Attributes.renameAttribute(attr1, desc2);
     }
     catch (final Exception e)
     {
@@ -114,7 +114,7 @@
   {
     final AttributeDescription desc = AttributeDescription.valueOf(attrDesc,
         Schema.getCoreSchema());
-    final Attribute attr = Types.emptyAttribute(desc);
+    final Attribute attr = Attributes.emptyAttribute(desc);
     assertTrue(attr.isEmpty());
   }
 
@@ -130,10 +130,10 @@
   {
     final AttributeDescription desc = AttributeDescription.valueOf(attrDesc,
         Schema.getCoreSchema());
-    final Attribute attr = Types.emptyAttribute(desc);
+    final Attribute attr = Attributes.emptyAttribute(desc);
     attr.add("test"); // should go through.
     // Make it unmodifiable.
-    final Attribute attr1 = Types.unmodifiableAttribute(attr);
+    final Attribute attr1 = Attributes.unmodifiableAttribute(attr);
     attr1.add("test");
   }
 
@@ -150,7 +150,7 @@
     final Entry entry = new LinkedHashMapEntry("cn=test");
     // add a value.
     entry.clearAttributes();
-    final Entry entry1 = Types.unmodifiableEntry(entry);
+    final Entry entry1 = Entries.unmodifiableEntry(entry);
     entry1.clearAttributes();
   }
 }

--
Gitblit v1.10.0