in grpc-web/callout/src/main/java/com/google/apigee/callouts/util/VarResolver.java [62:88]
private <T> T tryConvert(Object value, Class<T> clz, T defaultValue) {
if (value == null) {
return defaultValue;
}
if (clz.isAssignableFrom(value.getClass())) {
return (T) value;
}
if (clz.equals(Boolean.class) && (value instanceof String) &&
("true".equalsIgnoreCase((String) value)) ||
("false".equalsIgnoreCase((String) value))) {
return (T) Boolean.valueOf((String) value);
}
if (clz.equals(Integer.class) && (value instanceof String) &&
((String) value).matches("^[+-]?\\d+")) {
return (T) Integer.valueOf((String) value);
}
if ((clz.equals(Float.class) || clz.equals(Double.class)) && (value instanceof String) &&
((String) value).matches("^[+-]?\\d+(.\\d+)?")) {
return (T) Float.valueOf((String) value);
}
return defaultValue;
}