public static ListBuilder<GroupType> requiredList() { return list(Type.Repetition.REQUIRED); }
public static ListBuilder<GroupType> requiredList() { return list(Type.Repetition.REQUIRED); }
public static ListBuilder<GroupType> optionalList() { return list(Type.Repetition.OPTIONAL); }
public static ListBuilder<GroupType> optionalList() { return list(Type.Repetition.OPTIONAL); }
public GroupType list(ListType list, Type.Repetition repetition, int id, String name) { NestedField elementField = list.fields().get(0); return Types.list(repetition) .element(field(elementField)) .id(id) .named(name); }
@Override public Type list(GroupType list, Type element) { GroupType repeated = list.getType(0).asGroupType(); Type originalElement = repeated.getType(0); int elementId = getId(originalElement); if (selectedIds.contains(elementId)) { return list; } else if (element != null) { if (element != originalElement) { // the element type was projected return Types.list(list.getRepetition()) .element(element) .id(getId(list)) .named(list.getName()); } return list; } return null; }