package a6; public class XValue { private Object value; XValue() { } XValue(long val) { set(val); } XValue(double val) { set(val); } XValue(String val) { set(val); } public final void set(long val){ value = val; } public final void set(double val){ value = val; } public final void set(String val){ value = val == null ? "" : val; } public final void setUserData(Object val) { value = val; } public final void setNull() { value = null; } public final int getInt() { return (int)getInt64(); } public final long getInt64() { if (value instanceof Long) { return (Long)value; } else if (value instanceof Double) { return ((Double)value).longValue(); } else if (value instanceof String) { return Long.parseLong((String)value); } return 0; } public final double getDouble() { if (value instanceof Double) { return (Double)value; } else if (value instanceof Long) { return (Long)value; } else if (value instanceof String) { return Double.parseDouble((String)value); } return 0; } public final String getString() { if (value instanceof String) { return (String)value; } else if (value instanceof Double) { return ((Double)value).toString(); } else if (value instanceof Long) { return ((Long)value).toString(); } return ""; } public final Object getUserData() { return value; } }