public static View fieldTypesToView(String name, String sql, List<ViewFieldType> fieldTypes, List<String> context) { if (fieldTypes == null) { throw new NullPointerException(); } List<FieldType> fields = new ArrayList<>(); for (ViewFieldType sqlField : fieldTypes) { FieldType fieldType = new View.FieldType( sqlField.getName(), en(SqlTypeName.class, sqlField.getType()), sqlField.getPrecision(), sqlField.getScale(), en(TimeUnit.class, sqlField.getStartUnit()), en(TimeUnit.class, sqlField.getEndUnit()), sqlField.getFractionalSecondPrecision(), sqlField.getIsNullable() ); fields.add(fieldType); } return new View(name, sql, fields, context); }