com.fasterxml.aalto.util.DataUtil Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of aalto-xml Show documentation
Show all versions of aalto-xml Show documentation
Ultra-high performance non-blocking XML processor (Stax/Stax2, SAX/SAX2)
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;
}
}