in modules/adb/src/org/apache/axis2/databinding/utils/ConverterUtil.java [1111:1229]
public static Object convertToArray(Class baseArrayClass, List objectList) {
int listSize = objectList.size();
Object returnArray = null;
if (int.class.equals(baseArrayClass)) {
int[] array = new int[listSize];
for (int i = 0; i < listSize; i++) {
Object o = objectList.get(i);
if (o != null) {
array[i] = Integer.parseInt(o.toString());
} else {
array[i] = Integer.MIN_VALUE;
}
}
returnArray = array;
} else if (float.class.equals(baseArrayClass)) {
float[] array = new float[listSize];
for (int i = 0; i < listSize; i++) {
Object o = objectList.get(i);
if (o != null) {
array[i] = Float.parseFloat(o.toString());
} else {
array[i] = Float.NaN;
}
}
returnArray = array;
} else if (short.class.equals(baseArrayClass)) {
short[] array = new short[listSize];
for (int i = 0; i < listSize; i++) {
Object o = objectList.get(i);
if (o != null) {
array[i] = Short.parseShort(o.toString());
} else {
array[i] = Short.MIN_VALUE;
}
}
returnArray = array;
} else if (byte.class.equals(baseArrayClass)) {
byte[] array = new byte[listSize];
for (int i = 0; i < listSize; i++) {
Object o = objectList.get(i);
if (o != null) {
array[i] = Byte.parseByte(o.toString());
} else {
array[i] = Byte.MIN_VALUE;
}
}
returnArray = array;
} else if (long.class.equals(baseArrayClass)) {
long[] array = new long[listSize];
for (int i = 0; i < listSize; i++) {
Object o = objectList.get(i);
if (o != null) {
array[i] = Long.parseLong(o.toString());
} else {
array[i] = Long.MIN_VALUE;
}
}
returnArray = array;
} else if (boolean.class.equals(baseArrayClass)) {
boolean[] array = new boolean[listSize];
for (int i = 0; i < listSize; i++) {
Object o = objectList.get(i);
if (o != null) {
array[i] = o.toString().equalsIgnoreCase("true");
}
}
returnArray = array;
} else if (char.class.equals(baseArrayClass)) {
char[] array = new char[listSize];
for (int i = 0; i < listSize; i++) {
Object o = objectList.get(i);
if (o != null) {
array[i] = o.toString().toCharArray()[0];
}
}
returnArray = array;
} else if (double.class.equals(baseArrayClass)) {
double[] array = new double[listSize];
for (int i = 0; i < listSize; i++) {
Object o = objectList.get(i);
if (o != null) {
array[i] = Double.parseDouble(o.toString());
} else {
array[i] = Double.NaN;
}
}
returnArray = array;
} else if (Calendar.class.equals(baseArrayClass)) {
Calendar[] array = new Calendar[listSize];
for (int i = 0; i < listSize; i++) {
Object o = objectList.get(i);
if (o != null) {
if (o instanceof String) {
array[i] = ConverterUtil.convertToDateTime(o.toString());
} else if (o instanceof Calendar) {
array[i] = (Calendar) o;
}
}
}
returnArray = array;
} else if (Date.class.equals(baseArrayClass)) {
Date[] array = new Date[listSize];
for (int i = 0; i < listSize; i++) {
Object o = objectList.get(i);
if (o != null) {
if (o instanceof String) {
array[i] = ConverterUtil.convertToDate(o.toString());
} else if (o instanceof Date) {
array[i] = (Date) o;
}
}
}
returnArray = array;
} else {
returnArray = Array.newInstance(baseArrayClass, listSize);
ConvertToArbitraryObjectArray(returnArray, baseArrayClass, objectList);
}
return returnArray;
}