]> source.dussan.org Git - jackcess.git/commitdiff
add support for get/put int of different byteorder
authorJames Ahlborn <jtahlborn@yahoo.com>
Mon, 25 Sep 2006 12:49:41 +0000 (12:49 +0000)
committerJames Ahlborn <jtahlborn@yahoo.com>
Mon, 25 Sep 2006 12:49:41 +0000 (12:49 +0000)
git-svn-id: https://svn.code.sf.net/p/jackcess/code/jackcess/trunk@123 f203690c-595d-4dc9-a70b-905162fa7fd2

src/java/com/healthmarketscience/jackcess/ByteUtil.java

index d6a7f67581d80646466cf64c698ace6a77bf6a20..fdfa9dbc8937aa1dd978f6958277e607a37e4d98 100644 (file)
@@ -132,6 +132,55 @@ public final class ByteUtil {
     rtn &= 0xFFFFFF;
     return rtn;
   }
+
+  /**
+   * @return an int from the current position in the given buffer, read using
+   *         the given ByteOrder
+   */
+  public static int getInt(ByteBuffer buffer, ByteOrder order) {
+    int offset = buffer.position();
+    int rtn = getInt(buffer, offset, order);
+    buffer.position(offset + 4);
+    return rtn;
+  }
+  
+  /**
+   * @return an int from the given position in the given buffer, read using
+   *         the given ByteOrder
+   */
+  public static int getInt(ByteBuffer buffer, int offset, ByteOrder order) {
+    ByteOrder origOrder = buffer.order();
+    try {
+      return buffer.order(order).getInt(offset);
+    } finally {
+      buffer.order(origOrder);
+    }
+  }
+  
+  /**
+   * Writes an int at the current position in the given buffer, using the
+   * given ByteOrder
+   */
+  public static void putInt(ByteBuffer buffer, int val, ByteOrder order) {
+    int offset = buffer.position();
+    putInt(buffer, val, offset, order);
+    buffer.position(offset + 4);
+  }
+  
+  /**
+   * Writes an int at the given position in the given buffer, using the
+   * given ByteOrder
+   */
+  public static void putInt(ByteBuffer buffer, int val, int offset,
+                           ByteOrder order)
+  {
+    ByteOrder origOrder = buffer.order();
+    try {
+      buffer.order(order).putInt(offset, val);
+    } finally {
+      buffer.order(origOrder);
+    }
+  }
   
   /**
    * Convert a byte buffer to a hexadecimal string for display