package com.fasterxml.aalto.util; import java.lang.reflect.Array; public final class DataUtil { final static char[] EMPTY_CHAR_ARRAY = new char[0]; private DataUtil() { } public static char[] getEmptyCharArray() { return EMPTY_CHAR_ARRAY; } /* //////////////////////////////////////////////////////////// // Methods for common operations on std data structs //////////////////////////////////////////////////////////// */ public static String[] growArrayBy(String[] arr, int more) { if (arr == null) { return new String[more]; } String[] old = arr; int len = arr.length; arr = new String[len + more]; System.arraycopy(old, 0, arr, 0, len); return arr; } public static int[] growArrayBy(int[] arr, int more) { if (arr == null) { return new int[more]; } int[] old = arr; int len = arr.length; arr = new int[len + more]; System.arraycopy(old, 0, arr, 0, len); return arr; } public static char[] growArrayBy(char[] arr, int more) { if (arr == null) { return new char[more]; } char[] old = arr; int len = arr.length; arr = new char[len + more]; System.arraycopy(old, 0, arr, 0, len); return arr; } public static Object growAnyArrayBy(Object arr, int more) { if (arr == null) { throw new IllegalArgumentException("Null array"); } Object old = arr; int len = Array.getLength(arr); arr = Array.newInstance(arr.getClass().getComponentType(), len + more); System.arraycopy(old, 0, arr, 0, len); return arr; } }