ArrayUtil - remove unused method

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1876205 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Andreas Beeker 2020-04-06 20:43:16 +00:00
parent 65ccec11cb
commit 3a6ebecc6f
2 changed files with 12 additions and 50 deletions

View File

@ -20,35 +20,13 @@ package org.apache.poi.util;
/** /**
* Utility classes for dealing with arrays. * Utility classes for dealing with arrays.
*
* @author Glen Stampoultzis
*/ */
public class ArrayUtil @Internal
{ public final class ArrayUtil {
/**
* This is really a debugging version of <code>System.arraycopy()</code>.
* Use it to provide better exception messages when copying arrays around.
* For production use it's better to use the original for speed.
*/
public static void arraycopy(byte[] src, int src_position, byte[] dst, int dst_position, int length)
{
if (src_position < 0)
throw new IllegalArgumentException("src_position was less than 0. Actual value " + src_position);
if (src_position >= src.length)
throw new IllegalArgumentException( "src_position was greater than src array size. Tried to write starting at position " + src_position + " but the array length is " + src.length );
if (src_position + length > src.length)
throw new IllegalArgumentException("src_position + length would overrun the src array. Expected end at " + (src_position + length) + " actual end at " + src.length);
if (dst_position < 0)
throw new IllegalArgumentException("dst_position was less than 0. Actual value " + dst_position);
if (dst_position >= dst.length)
throw new IllegalArgumentException( "dst_position was greater than dst array size. Tried to write starting at position " + dst_position + " but the array length is " + dst.length );
if (dst_position + length > dst.length)
throw new IllegalArgumentException("dst_position + length would overrun the dst array. Expected end at " + (dst_position + length) + " actual end at " + dst.length);
System.arraycopy( src, src_position, dst, dst_position, length); private ArrayUtil() {}
}
/** /**
* Moves a number of entries in an array to another point in the array, * Moves a number of entries in an array to another point in the array,
* shifting those inbetween as required. * shifting those inbetween as required.
* @param array The array to alter * @param array The array to alter
@ -60,7 +38,7 @@ public class ArrayUtil
// If we're not asked to do anything, return now // If we're not asked to do anything, return now
if(numToMove <= 0) { return; } if(numToMove <= 0) { return; }
if(moveFrom == moveTo) { return; } if(moveFrom == moveTo) { return; }
// Check that the values supplied are valid // Check that the values supplied are valid
if(moveFrom < 0 || moveFrom >= array.length) { if(moveFrom < 0 || moveFrom >= array.length) {
throw new IllegalArgumentException("The moveFrom must be a valid array index"); throw new IllegalArgumentException("The moveFrom must be a valid array index");
@ -74,11 +52,11 @@ public class ArrayUtil
if(moveTo+numToMove > array.length) { if(moveTo+numToMove > array.length) {
throw new IllegalArgumentException("Asked to move to a position that doesn't have enough space"); throw new IllegalArgumentException("Asked to move to a position that doesn't have enough space");
} }
// Grab the bit to move // Grab the bit to move
Object[] toMove = new Object[numToMove]; Object[] toMove = new Object[numToMove];
System.arraycopy(array, moveFrom, toMove, 0, numToMove); System.arraycopy(array, moveFrom, toMove, 0, numToMove);
// Grab the bit to be shifted // Grab the bit to be shifted
Object[] toShift; Object[] toShift;
int shiftTo; int shiftTo;
@ -95,14 +73,14 @@ public class ArrayUtil
System.arraycopy(array, moveFrom+numToMove, toShift, 0, toShift.length); System.arraycopy(array, moveFrom+numToMove, toShift, 0, toShift.length);
shiftTo = moveFrom; shiftTo = moveFrom;
} }
// Copy the moved block to its new location // Copy the moved block to its new location
System.arraycopy(toMove, 0, array, moveTo, toMove.length); System.arraycopy(toMove, 0, array, moveTo, toMove.length);
// And copy the shifted block to the shifted location // And copy the shifted block to the shifted location
System.arraycopy(toShift, 0, array, shiftTo, toShift.length); System.arraycopy(toShift, 0, array, shiftTo, toShift.length);
// We're done - array will now have everything moved as required // We're done - array will now have everything moved as required
} }

View File

@ -29,22 +29,6 @@ import org.junit.Test;
* Unit test for ArrayUtil * Unit test for ArrayUtil
*/ */
public class TestArrayUtil { public class TestArrayUtil {
/**
* Test to ensure that our own arraycopy behaves as it should do
*/
@Test
public void testarraycopy() {
byte[] bytes = new byte[] { 0x01, 0x02, 0x03, 0x04 };
// Test copy whole thing
byte[] dest = new byte[4];
ArrayUtil.arraycopy(bytes, 0, dest, 0, 4);
assertArrayEquals(dest, bytes);
// ToDo - test exceptions are as expected
}
/** /**
* Helper for testArrayMoveWithin * Helper for testArrayMoveWithin
*/ */