public Integer apply(@Nullable Object input) {
return input instanceof Number ? ((Number) input).intValue() : null;
}
}), Predicates.notNull()));
} else if (type instanceof JSONSchemaNumberType) {
JSONSchemaNumberType numberType = (JSONSchemaNumberType) type;
if (defaultValue instanceof Number) {
numberType.setDefaultValue((Number) defaultValue);
}
if (minimum instanceof Number) {
numberType.setMinimum(minimum);
}
if (minimumExclusive instanceof Boolean) {
numberType.setMinimumExclusive(minimumExclusive);
}
if (maximum instanceof Number) {
numberType.setMaximum(maximum);
}
if (maximumExclusive instanceof Boolean) {
numberType.setMaximumExclusive(maximumExclusive);
}
if (divisibleBy instanceof Number) {
numberType.setDivisibleBy(divisibleBy);
}
numberType.setEnumValues(Collections2.filter(Lists.transform(enums, new Function<Object, Number>() {
@Override
public Number apply(@Nullable Object input) {
return input instanceof Number ? (Number) input : null;
}
}), Predicates.notNull()));