From f2160f4bd1c8ac67e5a86a6710d431e8932877f9 Mon Sep 17 00:00:00 2001
From: matthew_swift <matthew_swift@localhost>
Date: Fri, 28 May 2010 11:47:51 +0000
Subject: [PATCH] Synchronize SDK on java.net with internal repository.

---
 sdk/src/com/sun/opends/sdk/util/Base64.java |  161 ++++++++++++++++++++++++++---------------------------
 1 files changed, 78 insertions(+), 83 deletions(-)

diff --git a/sdk/src/com/sun/opends/sdk/util/Base64.java b/sdk/src/com/sun/opends/sdk/util/Base64.java
index 446962e..2ae7a8e 100755
--- a/sdk/src/com/sun/opends/sdk/util/Base64.java
+++ b/sdk/src/com/sun/opends/sdk/util/Base64.java
@@ -28,92 +28,27 @@
 
 
 
-import static com.sun.opends.sdk.messages.Messages.*;
-import static com.sun.opends.sdk.util.Validator.*;
+import static com.sun.opends.sdk.messages.Messages.ERR_BASE64_DECODE_INVALID_CHARACTER;
+import static com.sun.opends.sdk.messages.Messages.ERR_BASE64_DECODE_INVALID_LENGTH;
+import static com.sun.opends.sdk.util.Validator.ensureNotNull;
 
 import org.opends.sdk.*;
 
 
 
-
 /**
- * This class provides methods for performing base64 encoding and
- * decoding. Base64 is a mechanism for encoding binary data in ASCII
- * form by converting sets of three bytes with eight significant bits
- * each to sets of four bytes with six significant bits each.
+ * This class provides methods for performing base64 encoding and decoding.
+ * Base64 is a mechanism for encoding binary data in ASCII form by converting
+ * sets of three bytes with eight significant bits each to sets of four bytes
+ * with six significant bits each.
  */
 public final class Base64
 {
   /**
    * The set of characters that may be used in base64-encoded values.
    */
-  private static final char[] BASE64_ALPHABET =
-      ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
-          + "0123456789+/").toCharArray();
-
-
-
-  /**
-   * Prevent instance creation.
-   */
-  private Base64()
-  {
-    // No implementation required.
-  }
-
-
-
-  /**
-   * Encodes the provided data as a base64 string.
-   *
-   * @param bytes
-   *          The data to be encoded.
-   * @return The base64 encoded representation of {@code bytes}.
-   * @throws NullPointerException
-   *           If {@code bytes} was {@code null}.
-   */
-  public static String encode(ByteSequence bytes)
-      throws NullPointerException
-  {
-    ensureNotNull(bytes);
-
-    StringBuilder buffer = new StringBuilder(4 * bytes.length() / 3);
-
-    int pos = 0;
-    int iterations = bytes.length() / 3;
-    for (int i = 0; i < iterations; i++)
-    {
-      int value =
-          ((bytes.byteAt(pos++) & 0xFF) << 16)
-              | ((bytes.byteAt(pos++) & 0xFF) << 8)
-              | (bytes.byteAt(pos++) & 0xFF);
-
-      buffer.append(BASE64_ALPHABET[(value >>> 18) & 0x3F]);
-      buffer.append(BASE64_ALPHABET[(value >>> 12) & 0x3F]);
-      buffer.append(BASE64_ALPHABET[(value >>> 6) & 0x3F]);
-      buffer.append(BASE64_ALPHABET[value & 0x3F]);
-    }
-
-    switch (bytes.length() % 3)
-    {
-    case 1:
-      buffer.append(BASE64_ALPHABET[(bytes.byteAt(pos) >>> 2) & 0x3F]);
-      buffer.append(BASE64_ALPHABET[(bytes.byteAt(pos) << 4) & 0x3F]);
-      buffer.append("==");
-      break;
-    case 2:
-      int value =
-          ((bytes.byteAt(pos++) & 0xFF) << 8)
-              | (bytes.byteAt(pos) & 0xFF);
-      buffer.append(BASE64_ALPHABET[(value >>> 10) & 0x3F]);
-      buffer.append(BASE64_ALPHABET[(value >>> 4) & 0x3F]);
-      buffer.append(BASE64_ALPHABET[(value << 2) & 0x3F]);
-      buffer.append("=");
-      break;
-    }
-
-    return buffer.toString();
-  }
+  private static final char[] BASE64_ALPHABET = ("ABCDEFGHIJKLMNOPQRSTUVWXYZ"
+      + "abcdefghijklmnopqrstuvwxyz" + "0123456789+/").toCharArray();
 
 
 
@@ -124,26 +59,26 @@
    *          The base64 encoded data.
    * @return The decoded data.
    * @throws LocalizedIllegalArgumentException
-   *           If a problem occurs while attempting to decode {@code
-   *           base64}.
+   *           If a problem occurs while attempting to decode {@code base64}.
    * @throws NullPointerException
    *           If {@code base64} was {@code null}.
    */
-  public static ByteString decode(String base64)
+  public static ByteString decode(final String base64)
       throws LocalizedIllegalArgumentException, NullPointerException
   {
     ensureNotNull(base64);
 
     // The encoded value must have length that is a multiple of four
     // bytes.
-    int length = base64.length();
+    final int length = base64.length();
     if ((length % 4) != 0)
     {
-      LocalizableMessage message = ERR_BASE64_DECODE_INVALID_LENGTH.get(base64);
+      final LocalizableMessage message = ERR_BASE64_DECODE_INVALID_LENGTH
+          .get(base64);
       throw new LocalizedIllegalArgumentException(message);
     }
 
-    ByteStringBuilder builder = new ByteStringBuilder(length);
+    final ByteStringBuilder builder = new ByteStringBuilder(length);
     for (int i = 0; i < length; i += 4)
     {
       boolean append = true;
@@ -359,9 +294,8 @@
           }
           break;
         default:
-          LocalizableMessage message =
-              ERR_BASE64_DECODE_INVALID_CHARACTER.get(base64, base64
-                  .charAt(i + j));
+          final LocalizableMessage message = ERR_BASE64_DECODE_INVALID_CHARACTER
+              .get(base64, base64.charAt(i + j));
           throw new LocalizedIllegalArgumentException(message);
         }
 
@@ -385,4 +319,65 @@
 
     return builder.toByteString();
   }
+
+
+
+  /**
+   * Encodes the provided data as a base64 string.
+   *
+   * @param bytes
+   *          The data to be encoded.
+   * @return The base64 encoded representation of {@code bytes}.
+   * @throws NullPointerException
+   *           If {@code bytes} was {@code null}.
+   */
+  public static String encode(final ByteSequence bytes)
+      throws NullPointerException
+  {
+    ensureNotNull(bytes);
+
+    final StringBuilder buffer = new StringBuilder(4 * bytes.length() / 3);
+
+    int pos = 0;
+    final int iterations = bytes.length() / 3;
+    for (int i = 0; i < iterations; i++)
+    {
+      final int value = ((bytes.byteAt(pos++) & 0xFF) << 16)
+          | ((bytes.byteAt(pos++) & 0xFF) << 8) | (bytes.byteAt(pos++) & 0xFF);
+
+      buffer.append(BASE64_ALPHABET[(value >>> 18) & 0x3F]);
+      buffer.append(BASE64_ALPHABET[(value >>> 12) & 0x3F]);
+      buffer.append(BASE64_ALPHABET[(value >>> 6) & 0x3F]);
+      buffer.append(BASE64_ALPHABET[value & 0x3F]);
+    }
+
+    switch (bytes.length() % 3)
+    {
+    case 1:
+      buffer.append(BASE64_ALPHABET[(bytes.byteAt(pos) >>> 2) & 0x3F]);
+      buffer.append(BASE64_ALPHABET[(bytes.byteAt(pos) << 4) & 0x3F]);
+      buffer.append("==");
+      break;
+    case 2:
+      final int value = ((bytes.byteAt(pos++) & 0xFF) << 8)
+          | (bytes.byteAt(pos) & 0xFF);
+      buffer.append(BASE64_ALPHABET[(value >>> 10) & 0x3F]);
+      buffer.append(BASE64_ALPHABET[(value >>> 4) & 0x3F]);
+      buffer.append(BASE64_ALPHABET[(value << 2) & 0x3F]);
+      buffer.append("=");
+      break;
+    }
+
+    return buffer.toString();
+  }
+
+
+
+  /**
+   * Prevent instance creation.
+   */
+  private Base64()
+  {
+    // No implementation required.
+  }
 }

--
Gitblit v1.10.0