public static EdmPrimitiveTypeKind determineTypeKind()

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;
  }