@SuppressWarnings("unchecked") public EntityInfoBuilder<T> addColumn(String columnName, EntityFieldType fieldType, Function<T, Object> accessor) { return addColumn(new ColumnInfo(columnName, fieldType, (Function<Object, Object>) accessor)); }
public EntityInfo buildEntity() { ColumnInfo c1 = new ColumnInfo("column1", null, null); ColumnInfo c2 = new ColumnInfo("column2", null, null); return new EntityInfo(null, "simple_table", Arrays.asList(c1, c2)); }
public EntityInfo inspect() { JpaFieldsInspector fieldsInspector = new JpaFieldsInspector(); List<FieldInfo> fieldsFromClass = fieldsInspector.getFieldsFromClass(entityClass); EntityFieldAccesorFactory factory = new EntityFieldAccesorFactory(); List<ColumnInfo> columns = fieldsFromClass.stream().map(field -> { Function<Object, Object> accessor = factory.getAccessor(entityClass, field.getFieldName()); return new ColumnInfo(field.getColumnName(), field.getFieldType(), accessor); }).collect(Collectors.toList()); return new EntityInfo(entityClass, getTableName(), columns); }
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(FieldInfo fieldInfo) { validate(fieldInfo.getColumnName()); Function<Object, Object> accessor = accesorFactory.getAccessor(entityClass, fieldInfo.getFieldName()); return addColumn(new ColumnInfo(fieldInfo.getColumnName(), fieldInfo.getFieldType(), accessor)); }