case INT :
return new LongValue((Integer)object);
case LONG :
return new LongValue((Long)object);
case FLOAT :
return new DoubleValue((Float)object);
case DOUBLE :
return new DoubleValue((Double)object);
case CHAR :
return new StringValue(Character.toString((Character)object));
case STRING :
return new StringValue((String)object);
case ENUM :
return new StringValue(((Enum)object).name());
case ARRAY_BOOLEAN : {
JsonValue jsonArray = new ArrayValue();
int length = Array.getLength(object);
for (int i = 0; i < length; i++)
{
jsonArray.addElement(new BooleanValue(Array.getBoolean(object, i)));
}
return jsonArray;
}
case ARRAY_BYTE : {
JsonValue jsonArray = new ArrayValue();
int length = Array.getLength(object);
for (int i = 0; i < length; i++)
{
jsonArray.addElement(new LongValue(Array.getByte(object, i)));
}
return jsonArray;
}
case ARRAY_SHORT : {
JsonValue jsonArray = new ArrayValue();
int length = Array.getLength(object);
for (int i = 0; i < length; i++)
{
jsonArray.addElement(new LongValue(Array.getShort(object, i)));
}
return jsonArray;
}
case ARRAY_INT : {
JsonValue jsonArray = new ArrayValue();
int length = Array.getLength(object);
for (int i = 0; i < length; i++)
{
jsonArray.addElement(new LongValue(Array.getInt(object, i)));
}
return jsonArray;
}
case ARRAY_LONG : {
JsonValue jsonArray = new ArrayValue();
int length = Array.getLength(object);
for (int i = 0; i < length; i++)
{
jsonArray.addElement(new LongValue(Array.getLong(object, i)));
}
return jsonArray;
}
case ARRAY_FLOAT : {
JsonValue jsonArray = new ArrayValue();
int length = Array.getLength(object);
for (int i = 0; i < length; i++)
{
jsonArray.addElement(new DoubleValue(Array.getFloat(object, i)));
}
return jsonArray;
}
case ARRAY_DOUBLE : {
JsonValue jsonArray = new ArrayValue();
int length = Array.getLength(object);
for (int i = 0; i < length; i++)
{
jsonArray.addElement(new DoubleValue(Array.getDouble(object, i)));
}
return jsonArray;
}
case ARRAY_CHAR : {
JsonValue jsonArray = new ArrayValue();