in google-http-client-xml/src/main/java/com/google/api/client/xml/XmlNamespaceDictionary.java [411:440]
static String toSerializedValue(Object value) {
if (value instanceof Float) {
Float f = (Float) value;
if (f.floatValue() == Float.POSITIVE_INFINITY) {
return "INF";
}
if (f.floatValue() == Float.NEGATIVE_INFINITY) {
return "-INF";
}
}
if (value instanceof Double) {
Double d = (Double) value;
if (d.doubleValue() == Double.POSITIVE_INFINITY) {
return "INF";
}
if (d.doubleValue() == Double.NEGATIVE_INFINITY) {
return "-INF";
}
}
if (value instanceof String || value instanceof Number || value instanceof Boolean) {
return value.toString();
}
if (value instanceof DateTime) {
return ((DateTime) value).toStringRfc3339();
}
if (value instanceof Enum<?>) {
return FieldInfo.of((Enum<?>) value).getName();
}
throw new IllegalArgumentException("unrecognized value type: " + value.getClass());
}