package jadex.xml.tutorial.jibx.example20;
public class Conversion
{
private Conversion () {}
public static String serializeDollarsCents(int cents) {
StringBuffer buff = new StringBuffer();
buff.append(cents / 100);
int extra = cents % 100;
if (extra != 0) {
buff.append('.');
if (extra < 10) {
buff.append('0');
}
buff.append(extra);
}
return buff.toString();
}
public static int deserializeDollarsCents(String text) {
if (text == null) {
return 0;
} else {
int split = text.indexOf('.');
int cents = 0;
if (split > 0) {
cents = Integer.parseInt(text.substring(0, split)) * 100;
text = text.substring(split+1);
}
return cents + Integer.parseInt(text);
}
}
public static String serializeIntArray(int[] values) {
StringBuffer buff = new StringBuffer();
for (int i = 0; i < values.length; i++) {
if (i > 0) {
buff.append(' ');
}
buff.append(values[i]);
}
return buff.toString();
}
private static int[] resizeArray(int[] array, int size) {
int[] copy = new int[size];
System.arraycopy(array, 0, copy, 0, Math.min(array.length, size));
return copy;
}
public static int[] deserializeIntArray(String text) {
if (text == null) {
return new int[0];
} else {
int split = 0;
text = text.trim();
int fill = 0;
int[] values = new int[10];
while (split < text.length()) {
int base = split;
split = text.indexOf(' ', split);
if (split < 0) {
split = text.length();
}
int value = Integer.parseInt(text.substring(base, split));
if (fill >= values.length) {
values = resizeArray(values, values.length*2);
}
values[fill++] = value;
while (split < text.length() && text.charAt(++split) == ' ');
}
return resizeArray(values, fill);
}
}
}