@Override public Map<Integer, Types.NestedField> list(Types.ListType list, Map<Integer, Types.NestedField> elementResult) { for (Types.NestedField field : list.fields()) { index.put(field.fieldId(), field); } return null; }
@Override public Set<Integer> list(Types.ListType list, Set<Integer> elementResult) { if (elementResult == null) { for (Types.NestedField field : list.fields()) { fieldIds.add(field.fieldId()); } } return fieldIds; }
} else if (nested.isListType()) { parentField = nested.asListType().fields().get(0);
if (iType != null) { list = iType.asListType(); element = list.fields().get(0);
@Override public Type list(Types.ListType list, Type result) { // use field to apply updates Type elementResult = field(list.fields().get(0), result); if (elementResult == null) { throw new IllegalArgumentException("Cannot delete element type from list: " + list); } if (list.elementType() == elementResult) { return list; } if (list.isElementOptional()) { return Types.ListType.ofOptional(list.elementId(), elementResult); } else { return Types.ListType.ofRequired(list.elementId(), elementResult); } }
@Override public Map<String, Integer> list(Types.ListType list, Map<String, Integer> elementResult) { for (Types.NestedField field : list.fields()) { addField(field.name(), field.fieldId()); } return null; }
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); }