private Optional<EntityFieldType> getAnnotatedType(Class<?> javaType) { if (javaType.isEnum()) { return Optional.of(new EntityFieldType(getEnumType(field.getAnnotation(Enumerated.class)))); } else if (Date.class.isAssignableFrom(javaType)) { return Optional.of(new EntityFieldType(getDateFieldType())); } return Optional.empty(); }
private Optional<EntityFieldType> getAnnotatedType(Class<?> javaType) { if (javaType.isEnum()) { return Optional.of(new EntityFieldType(getEnumType(field.getAnnotation(JFleetEnumerated.class)))); } else if (Date.class.isAssignableFrom(javaType)) { return Optional.of(new EntityFieldType(getDateFieldType())); } return Optional.empty(); }
public EntityInfoBuilder<T> addColumn(String columnName, FieldTypeEnum fieldTypeEnum, boolean primitive, boolean identityId, Function<T, Object> accessor) { EntityFieldType fieldType = new EntityFieldType(fieldTypeEnum, primitive, identityId); return addColumn(columnName, fieldType, accessor); }
private EntityFieldType getFieldType() { Class<?> javaType = field.getType(); Optional<EntityFieldType> fieldType = fieldTypeInspector.getFieldType(javaType); EntityFieldType type = fieldType.orElseGet(() -> getAnnotatedType(javaType) .orElseThrow(() -> new RuntimeException("Unexpected type on " + field.toString()))); return new EntityFieldType(type.getFieldType(), type.isPrimitive(), isIdentityId()); }
return Optional.empty(); return Optional.of(new EntityFieldType(value, javaType.isPrimitive()));
public EntityFieldType buildFieldTypeByPath(String fieldPath, Optional<FieldTypeEnum> fieldTypeEnum) { Field field = findReferencedField(entityClass, fieldPath); JFleetFieldInspector fieldTypeInspector = new JFleetFieldInspector(field); EntityFieldType fieldType = fieldTypeInspector.getFieldType(); return fieldTypeEnum.map(type -> new EntityFieldType(type, fieldType.isPrimitive())).orElse(fieldType); }
public EntityInfo buildEntity() { EntityFieldType type1 = new EntityFieldType(FieldTypeEnum.INT); ColumnInfo c1 = new ColumnInfo("column1", type1, null); EntityFieldType type2 = new EntityFieldType(FieldTypeEnum.STRING); ColumnInfo c2 = new ColumnInfo("column2", type2, null); return new EntityInfo(null, "simple_table", Arrays.asList(c1, c2)); }
public EntityInfoBuilder<T> addField(String fieldPath, String columnName, EntityFieldType fieldType, boolean identityId) { EntityFieldType type = new EntityFieldType(fieldType.getFieldType(), fieldType.isPrimitive(), identityId); return addField(new FieldInfo(fieldPath, columnName, type)); }