]> source.dussan.org Git - jgit.git/commitdiff
Add copyTo(byte[], int) to AnyObjectId 14/1214/3
authorShawn O. Pearce <spearce@spearce.org>
Fri, 30 Jul 2010 02:41:59 +0000 (19:41 -0700)
committerShawn O. Pearce <spearce@spearce.org>
Sat, 21 Aug 2010 00:41:27 +0000 (17:41 -0700)
This permits formatting in hex into an existing byte array
supplied by the caller, and mirrors our copyRawTo method
with the same parameter signature.

Change-Id: Ia078d83e338b09b903bfd2d04284e5283f885a19
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
org.eclipse.jgit/src/org/eclipse/jgit/lib/AnyObjectId.java

index c4c26a28e29a775ef99406bb009747503cd49053..e2060a0afa01bb0843ac1f4053fdb1388798cdec 100644 (file)
@@ -323,6 +323,22 @@ public abstract class AnyObjectId implements Comparable {
                w.write(toHexByteArray());
        }
 
+       /**
+        * Copy this ObjectId to a byte array in hex format.
+        *
+        * @param b
+        *            the buffer to copy to.
+        * @param o
+        *            the offset within b to write at.
+        */
+       public void copyTo(byte[] b, int o) {
+               formatHexByte(b, o + 0, w1);
+               formatHexByte(b, o + 8, w2);
+               formatHexByte(b, o + 16, w3);
+               formatHexByte(b, o + 24, w4);
+               formatHexByte(b, o + 32, w5);
+       }
+
        private byte[] toHexByteArray() {
                final byte[] dst = new byte[Constants.OBJECT_ID_STRING_LENGTH];
                formatHexByte(dst, 0, w1);