in lib/commons-core/src/main/java/org/apache/olingo/commons/core/edm/EdmTypeInfo.java [228:264]
public static EdmPrimitiveTypeKind determineTypeKind(final Object value) {
if (value == null) {
return null;
} else if (value instanceof Boolean) {
return EdmPrimitiveTypeKind.Boolean;
} else if (value instanceof String) {
return EdmPrimitiveTypeKind.String;
} else if (value instanceof UUID) {
return EdmPrimitiveTypeKind.Guid;
} else if (value instanceof Long || value instanceof BigInteger) {
return EdmPrimitiveTypeKind.Int64;
} else if (value instanceof Integer) {
return EdmPrimitiveTypeKind.Int32;
} else if (value instanceof Short) {
return EdmPrimitiveTypeKind.Int16;
} else if (value instanceof Byte) {
return EdmPrimitiveTypeKind.SByte;
} else if (value instanceof BigDecimal) {
return EdmPrimitiveTypeKind.Decimal;
} else if (value instanceof Double) {
return EdmPrimitiveTypeKind.Double;
} else if (value instanceof Float) {
return EdmPrimitiveTypeKind.Single;
} else if (value instanceof Calendar || value instanceof Date
|| value instanceof java.sql.Timestamp
|| value instanceof java.time.Instant
|| value instanceof java.time.ZonedDateTime) {
return EdmPrimitiveTypeKind.DateTimeOffset;
} else if (value instanceof java.sql.Date || value instanceof java.time.LocalDate) {
return EdmPrimitiveTypeKind.Date;
} else if (value instanceof java.sql.Time || value instanceof java.time.LocalTime) {
return EdmPrimitiveTypeKind.TimeOfDay;
} else if (value instanceof byte[] || value instanceof Byte[]) {
return EdmPrimitiveTypeKind.Binary;
}
return null;
}