public static <T> T[] copy(final T[] source, final int offset, final T[] target, final int targetOffset, final int length) { VerifyArgument.notNull(source, "source"); VerifyArgument.validElementRange(source.length, offset, offset + length); final T[] actualTarget; final int requiredLength = targetOffset + length; if (target == null) { if (targetOffset == 0) { return Arrays.copyOf(source, source.length); } actualTarget = (T[])Array.newInstance(source.getClass().getComponentType(), requiredLength); } else if (requiredLength > target.length) { if (targetOffset == 0) { actualTarget = (T[])Array.newInstance(target.getClass().getComponentType(), length); } else { actualTarget = Arrays.copyOf(target, requiredLength); } } else { actualTarget = target; } System.arraycopy(source, offset, actualTarget, targetOffset, length); return actualTarget; }
public static boolean[] copy(final boolean[] source, final int offset, final boolean[] target, final int targetOffset, final int length) { VerifyArgument.notNull(source, "source"); VerifyArgument.validElementRange(source.length, offset, offset + length); VerifyArgument.isNonNegative(targetOffset, "targetOffset"); final boolean[] actualTarget; final int requiredLength = targetOffset + length; if (target == null) { if (targetOffset == 0) { return Arrays.copyOfRange(source, offset, offset + length); } actualTarget = new boolean[requiredLength]; } else if (requiredLength > target.length) { actualTarget = new boolean[requiredLength]; if (targetOffset != 0) { System.arraycopy(target, 0, actualTarget, 0, targetOffset); } } else { actualTarget = target; } System.arraycopy(source, offset, actualTarget, targetOffset, length); return actualTarget; }
public static boolean[] copy(final boolean[] source, final int offset, final boolean[] target, final int targetOffset, final int length) { VerifyArgument.notNull(source, "source"); VerifyArgument.validElementRange(source.length, offset, offset + length); VerifyArgument.isNonNegative(targetOffset, "targetOffset"); final boolean[] actualTarget; final int requiredLength = targetOffset + length; if (target == null) { if (targetOffset == 0) { return Arrays.copyOfRange(source, offset, offset + length); } actualTarget = new boolean[requiredLength]; } else if (requiredLength > target.length) { actualTarget = new boolean[requiredLength]; if (targetOffset != 0) { System.arraycopy(target, 0, actualTarget, 0, targetOffset); } } else { actualTarget = target; } System.arraycopy(source, offset, actualTarget, targetOffset, length); return actualTarget; }
public static short[] copy(final short[] source, final int offset, final short[] target, final int targetOffset, final int length) { VerifyArgument.notNull(source, "source"); VerifyArgument.validElementRange(source.length, offset, offset + length); VerifyArgument.isNonNegative(targetOffset, "targetOffset"); final short[] actualTarget; final int requiredLength = targetOffset + length; if (target == null) { if (targetOffset == 0) { return Arrays.copyOfRange(source, offset, offset + length); } actualTarget = new short[requiredLength]; } else if (requiredLength > target.length) { actualTarget = new short[requiredLength]; if (targetOffset != 0) { System.arraycopy(target, 0, actualTarget, 0, targetOffset); } } else { actualTarget = target; } System.arraycopy(source, offset, actualTarget, targetOffset, length); return actualTarget; }
public static boolean[] copy(final boolean[] source, final int offset, final boolean[] target, final int targetOffset, final int length) { VerifyArgument.notNull(source, "source"); VerifyArgument.validElementRange(source.length, offset, offset + length); VerifyArgument.isNonNegative(targetOffset, "targetOffset"); final boolean[] actualTarget; final int requiredLength = targetOffset + length; if (target == null) { if (targetOffset == 0) { return Arrays.copyOfRange(source, offset, offset + length); } actualTarget = new boolean[requiredLength]; } else if (requiredLength > target.length) { actualTarget = new boolean[requiredLength]; if (targetOffset != 0) { System.arraycopy(target, 0, actualTarget, 0, targetOffset); } } else { actualTarget = target; } System.arraycopy(source, offset, actualTarget, targetOffset, length); return actualTarget; }
public static byte[] copy(final byte[] source, final int offset, final byte[] target, final int targetOffset, final int length) { VerifyArgument.notNull(source, "source"); VerifyArgument.validElementRange(source.length, offset, offset + length); VerifyArgument.isNonNegative(targetOffset, "targetOffset"); final byte[] actualTarget; final int requiredLength = targetOffset + length; if (target == null) { if (targetOffset == 0) { return Arrays.copyOfRange(source, offset, offset + length); } actualTarget = new byte[requiredLength]; } else if (requiredLength > target.length) { actualTarget = new byte[requiredLength]; if (targetOffset != 0) { System.arraycopy(target, 0, actualTarget, 0, targetOffset); } } else { actualTarget = target; } System.arraycopy(source, offset, actualTarget, targetOffset, length); return actualTarget; }
public static float[] copy(final float[] source, final int offset, final float[] target, final int targetOffset, final int length) { VerifyArgument.notNull(source, "source"); VerifyArgument.validElementRange(source.length, offset, offset + length); VerifyArgument.isNonNegative(targetOffset, "targetOffset"); final float[] actualTarget; final int requiredLength = targetOffset + length; if (target == null) { if (targetOffset == 0) { return Arrays.copyOfRange(source, offset, offset + length); } actualTarget = new float[requiredLength]; } else if (requiredLength > target.length) { actualTarget = new float[requiredLength]; if (targetOffset != 0) { System.arraycopy(target, 0, actualTarget, 0, targetOffset); } } else { actualTarget = target; } System.arraycopy(source, offset, actualTarget, targetOffset, length); return actualTarget; }
public static int[] copy(final int[] source, final int offset, final int[] target, final int targetOffset, final int length) { VerifyArgument.notNull(source, "source"); VerifyArgument.validElementRange(source.length, offset, offset + length); VerifyArgument.isNonNegative(targetOffset, "targetOffset"); final int[] actualTarget; final int requiredLength = targetOffset + length; if (target == null) { if (targetOffset == 0) { return Arrays.copyOfRange(source, offset, offset + length); } actualTarget = new int[requiredLength]; } else if (requiredLength > target.length) { actualTarget = new int[requiredLength]; if (targetOffset != 0) { System.arraycopy(target, 0, actualTarget, 0, targetOffset); } } else { actualTarget = target; } System.arraycopy(source, offset, actualTarget, targetOffset, length); return actualTarget; }
public static long[] copy(final long[] source, final int offset, final long[] target, final int targetOffset, final int length) { VerifyArgument.notNull(source, "source"); VerifyArgument.validElementRange(source.length, offset, offset + length); VerifyArgument.isNonNegative(targetOffset, "targetOffset"); final long[] actualTarget; final int requiredLength = targetOffset + length; if (target == null) { if (targetOffset == 0) { return Arrays.copyOfRange(source, offset, offset + length); } actualTarget = new long[requiredLength]; } else if (requiredLength > target.length) { actualTarget = new long[requiredLength]; if (targetOffset != 0) { System.arraycopy(target, 0, actualTarget, 0, targetOffset); } } else { actualTarget = target; } System.arraycopy(source, offset, actualTarget, targetOffset, length); return actualTarget; }
public static short[] copy(final short[] source, final int offset, final short[] target, final int targetOffset, final int length) { VerifyArgument.notNull(source, "source"); VerifyArgument.validElementRange(source.length, offset, offset + length); VerifyArgument.isNonNegative(targetOffset, "targetOffset"); final short[] actualTarget; final int requiredLength = targetOffset + length; if (target == null) { if (targetOffset == 0) { return Arrays.copyOfRange(source, offset, offset + length); } actualTarget = new short[requiredLength]; } else if (requiredLength > target.length) { actualTarget = new short[requiredLength]; if (targetOffset != 0) { System.arraycopy(target, 0, actualTarget, 0, targetOffset); } } else { actualTarget = target; } System.arraycopy(source, offset, actualTarget, targetOffset, length); return actualTarget; }
public static short[] copy(final short[] source, final int offset, final short[] target, final int targetOffset, final int length) { VerifyArgument.notNull(source, "source"); VerifyArgument.validElementRange(source.length, offset, offset + length); VerifyArgument.isNonNegative(targetOffset, "targetOffset"); final short[] actualTarget; final int requiredLength = targetOffset + length; if (target == null) { if (targetOffset == 0) { return Arrays.copyOfRange(source, offset, offset + length); } actualTarget = new short[requiredLength]; } else if (requiredLength > target.length) { actualTarget = new short[requiredLength]; if (targetOffset != 0) { System.arraycopy(target, 0, actualTarget, 0, targetOffset); } } else { actualTarget = target; } System.arraycopy(source, offset, actualTarget, targetOffset, length); return actualTarget; }
public static double[] copy(final double[] source, final int offset, final double[] target, final int targetOffset, final int length) { VerifyArgument.notNull(source, "source"); VerifyArgument.validElementRange(source.length, offset, offset + length); VerifyArgument.isNonNegative(targetOffset, "targetOffset"); final double[] actualTarget; final int requiredLength = targetOffset + length; if (target == null) { if (targetOffset == 0) { return Arrays.copyOfRange(source, offset, offset + length); } actualTarget = new double[requiredLength]; } else if (requiredLength > target.length) { actualTarget = new double[requiredLength]; if (targetOffset != 0) { System.arraycopy(target, 0, actualTarget, 0, targetOffset); } } else { actualTarget = target; } System.arraycopy(source, offset, actualTarget, targetOffset, length); return actualTarget; }
public static char[] copy(final char[] source, final int offset, final char[] target, final int targetOffset, final int length) { VerifyArgument.notNull(source, "source"); VerifyArgument.validElementRange(source.length, offset, offset + length); VerifyArgument.isNonNegative(targetOffset, "targetOffset"); final char[] actualTarget; final int requiredLength = targetOffset + length; if (target == null) { if (targetOffset == 0) { return Arrays.copyOfRange(source, offset, offset + length); } actualTarget = new char[requiredLength]; } else if (requiredLength > target.length) { actualTarget = new char[requiredLength]; if (targetOffset != 0) { System.arraycopy(target, 0, actualTarget, 0, targetOffset); } } else { actualTarget = target; } System.arraycopy(source, offset, actualTarget, targetOffset, length); return actualTarget; }
public static float[] copy(final float[] source, final int offset, final float[] target, final int targetOffset, final int length) { VerifyArgument.notNull(source, "source"); VerifyArgument.validElementRange(source.length, offset, offset + length); VerifyArgument.isNonNegative(targetOffset, "targetOffset"); final float[] actualTarget; final int requiredLength = targetOffset + length; if (target == null) { if (targetOffset == 0) { return Arrays.copyOfRange(source, offset, offset + length); } actualTarget = new float[requiredLength]; } else if (requiredLength > target.length) { actualTarget = new float[requiredLength]; if (targetOffset != 0) { System.arraycopy(target, 0, actualTarget, 0, targetOffset); } } else { actualTarget = target; } System.arraycopy(source, offset, actualTarget, targetOffset, length); return actualTarget; }
public static double[] copy(final double[] source, final int offset, final double[] target, final int targetOffset, final int length) { VerifyArgument.notNull(source, "source"); VerifyArgument.validElementRange(source.length, offset, offset + length); VerifyArgument.isNonNegative(targetOffset, "targetOffset"); final double[] actualTarget; final int requiredLength = targetOffset + length; if (target == null) { if (targetOffset == 0) { return Arrays.copyOfRange(source, offset, offset + length); } actualTarget = new double[requiredLength]; } else if (requiredLength > target.length) { actualTarget = new double[requiredLength]; if (targetOffset != 0) { System.arraycopy(target, 0, actualTarget, 0, targetOffset); } } else { actualTarget = target; } System.arraycopy(source, offset, actualTarget, targetOffset, length); return actualTarget; }
public static byte[] copy(final byte[] source, final int offset, final byte[] target, final int targetOffset, final int length) { VerifyArgument.notNull(source, "source"); VerifyArgument.validElementRange(source.length, offset, offset + length); VerifyArgument.isNonNegative(targetOffset, "targetOffset"); final byte[] actualTarget; final int requiredLength = targetOffset + length; if (target == null) { if (targetOffset == 0) { return Arrays.copyOfRange(source, offset, offset + length); } actualTarget = new byte[requiredLength]; } else if (requiredLength > target.length) { actualTarget = new byte[requiredLength]; if (targetOffset != 0) { System.arraycopy(target, 0, actualTarget, 0, targetOffset); } } else { actualTarget = target; } System.arraycopy(source, offset, actualTarget, targetOffset, length); return actualTarget; }
public static float[] copy(final float[] source, final int offset, final float[] target, final int targetOffset, final int length) { VerifyArgument.notNull(source, "source"); VerifyArgument.validElementRange(source.length, offset, offset + length); VerifyArgument.isNonNegative(targetOffset, "targetOffset"); final float[] actualTarget; final int requiredLength = targetOffset + length; if (target == null) { if (targetOffset == 0) { return Arrays.copyOfRange(source, offset, offset + length); } actualTarget = new float[requiredLength]; } else if (requiredLength > target.length) { actualTarget = new float[requiredLength]; if (targetOffset != 0) { System.arraycopy(target, 0, actualTarget, 0, targetOffset); } } else { actualTarget = target; } System.arraycopy(source, offset, actualTarget, targetOffset, length); return actualTarget; }
public static double[] copy(final double[] source, final int offset, final double[] target, final int targetOffset, final int length) { VerifyArgument.notNull(source, "source"); VerifyArgument.validElementRange(source.length, offset, offset + length); VerifyArgument.isNonNegative(targetOffset, "targetOffset"); final double[] actualTarget; final int requiredLength = targetOffset + length; if (target == null) { if (targetOffset == 0) { return Arrays.copyOfRange(source, offset, offset + length); } actualTarget = new double[requiredLength]; } else if (requiredLength > target.length) { actualTarget = new double[requiredLength]; if (targetOffset != 0) { System.arraycopy(target, 0, actualTarget, 0, targetOffset); } } else { actualTarget = target; } System.arraycopy(source, offset, actualTarget, targetOffset, length); return actualTarget; }
public static char[] copy(final char[] source, final int offset, final char[] target, final int targetOffset, final int length) { VerifyArgument.notNull(source, "source"); VerifyArgument.validElementRange(source.length, offset, offset + length); VerifyArgument.isNonNegative(targetOffset, "targetOffset"); final char[] actualTarget; final int requiredLength = targetOffset + length; if (target == null) { if (targetOffset == 0) { return Arrays.copyOfRange(source, offset, offset + length); } actualTarget = new char[requiredLength]; } else if (requiredLength > target.length) { actualTarget = new char[requiredLength]; if (targetOffset != 0) { System.arraycopy(target, 0, actualTarget, 0, targetOffset); } } else { actualTarget = target; } System.arraycopy(source, offset, actualTarget, targetOffset, length); return actualTarget; }
public static byte[] copy(final byte[] source, final int offset, final byte[] target, final int targetOffset, final int length) { VerifyArgument.notNull(source, "source"); VerifyArgument.validElementRange(source.length, offset, offset + length); VerifyArgument.isNonNegative(targetOffset, "targetOffset"); final byte[] actualTarget; final int requiredLength = targetOffset + length; if (target == null) { if (targetOffset == 0) { return Arrays.copyOfRange(source, offset, offset + length); } actualTarget = new byte[requiredLength]; } else if (requiredLength > target.length) { actualTarget = new byte[requiredLength]; if (targetOffset != 0) { System.arraycopy(target, 0, actualTarget, 0, targetOffset); } } else { actualTarget = target; } System.arraycopy(source, offset, actualTarget, targetOffset, length); return actualTarget; }