private static EdmTypeInfo guessPrimitiveType(final EdmEnabledODataClient client, final Class<?> clazz) { EdmPrimitiveTypeKind bckCandidate = null; for (EdmPrimitiveTypeKind kind : EdmPrimitiveTypeKind.values()) { final Class<?> target = EdmPrimitiveTypeFactory.getInstance(kind).getDefaultType(); if (clazz.equals(target)) { return new EdmTypeInfo.Builder().setEdm(client.getCachedEdm()).setTypeExpression(kind.toString()).build(); } else if (target.isAssignableFrom(clazz)) { bckCandidate = kind; } else if (target == Timestamp.class && kind == EdmPrimitiveTypeKind.DateTimeOffset) { bckCandidate = kind; } } if (bckCandidate == null) { throw new IllegalArgumentException(clazz.getSimpleName() + " is not a simple type"); } else { return new EdmTypeInfo.Builder().setEdm(client.getCachedEdm()).setTypeExpression(bckCandidate.toString()).build(); } }
private static EdmTypeInfo guessPrimitiveType(final EdmEnabledODataClient client, final Class<?> clazz) { EdmPrimitiveTypeKind bckCandidate = null; for (EdmPrimitiveTypeKind kind : EdmPrimitiveTypeKind.values()) { final Class<?> target = EdmPrimitiveTypeFactory.getInstance(kind).getDefaultType(); if (clazz.equals(target)) { return new EdmTypeInfo.Builder().setEdm(client.getCachedEdm()).setTypeExpression(kind.toString()).build(); } else if (target.isAssignableFrom(clazz)) { bckCandidate = kind; } else if (target == Timestamp.class && kind == EdmPrimitiveTypeKind.DateTimeOffset) { bckCandidate = kind; } } if (bckCandidate == null) { throw new IllegalArgumentException(clazz.getSimpleName() + " is not a simple type"); } else { return new EdmTypeInfo.Builder().setEdm(client.getCachedEdm()).setTypeExpression(bckCandidate.toString()).build(); } }