public static Builder builder() { return new AutoValue_OneOfElement.Builder() .documentation("") .fields(ImmutableList.<FieldElement>of()) .groups(ImmutableList.<GroupElement>of()); }
static ImmutableList<OneOfElement> toElements(ImmutableList<OneOf> oneOfs) { ImmutableList.Builder<OneOfElement> elements = new ImmutableList.Builder<>(); for (OneOf oneOf : oneOfs) { elements.add(OneOfElement.builder() .documentation(oneOf.documentation) .name(oneOf.name) .fields(Field.toElements(oneOf.fields)) .build()); } return elements.build(); } }
private OneOfElement readOneOf(String documentation) { OneOfElement.Builder builder = OneOfElement.builder() .name(reader.readName()) .documentation(documentation); ImmutableList.Builder<FieldElement> fields = ImmutableList.builder(); ImmutableList.Builder<GroupElement> groups = ImmutableList.builder(); reader.require('{'); while (true) { String nestedDocumentation = reader.readDocumentation(); if (reader.peekChar('}')) break; Location location = reader.location(); String type = reader.readDataType(); if (type.equals("group")) { groups.add(readGroup(location, nestedDocumentation, null)); } else { fields.add(readField(location, nestedDocumentation, null, type)); } } return builder.fields(fields.build()) .groups(groups.build()) .build(); }
private OneOfElement readOneOf(String documentation) { OneOfElement.Builder builder = OneOfElement.builder() .name(readName()) .documentation(documentation); ImmutableList.Builder<FieldElement> fields = ImmutableList.builder(); ImmutableList.Builder<GroupElement> groups = ImmutableList.builder(); if (readChar() != '{') throw unexpected("expected '{'"); while (true) { String nestedDocumentation = readDocumentation(); if (peekChar() == '}') { pos++; break; } Location location = location(); String type = readDataType(); if (type.equals("group")) { groups.add(readGroup(nestedDocumentation, null)); } else { fields.add(readField(location, nestedDocumentation, null, type)); } } return builder.fields(fields.build()) .groups(groups.build()) .build(); }
private OneOfElement readOneOf(String documentation) { OneOfElement.Builder builder = OneOfElement.builder() .name(reader.readName()) .documentation(documentation); ImmutableList.Builder<FieldElement> fields = ImmutableList.builder(); ImmutableList.Builder<GroupElement> groups = ImmutableList.builder(); reader.require('{'); while (true) { String nestedDocumentation = reader.readDocumentation(); if (reader.peekChar('}')) break; Location location = reader.location(); String type = reader.readDataType(); if (type.equals("group")) { groups.add(readGroup(nestedDocumentation, null)); } else { fields.add(readField(location, nestedDocumentation, null, type)); } } return builder.fields(fields.build()) .groups(groups.build()) .build(); }
public static Builder builder() { return new AutoValue_OneOfElement.Builder() .documentation("") .fields(ImmutableList.<FieldElement>of()) .groups(ImmutableList.<GroupElement>of()); }
static ImmutableList<OneOfElement> toElements(ImmutableList<OneOf> oneOfs) { ImmutableList.Builder<OneOfElement> elements = new ImmutableList.Builder<>(); for (OneOf oneOf : oneOfs) { elements.add(OneOfElement.builder() .documentation(oneOf.documentation) .name(oneOf.name) .fields(Field.toElements(oneOf.fields)) .build()); } return elements.build(); } }
public static Builder builder() { return new AutoValue_OneOfElement.Builder() .documentation("") .fields(ImmutableList.<FieldElement>of()) .groups(ImmutableList.<GroupElement>of()); }
static ImmutableList<OneOfElement> toElements(ImmutableList<OneOf> oneOfs) { ImmutableList.Builder<OneOfElement> elements = new ImmutableList.Builder<>(); for (OneOf oneOf : oneOfs) { elements.add(OneOfElement.builder() .documentation(oneOf.documentation) .name(oneOf.name) .fields(Field.toElements(oneOf.fields)) .build()); } return elements.build(); } }
OneOfElement oneOf1 = OneOfElement.builder() .name("thingy") .fields(ImmutableList.of(oneOf1Field)) .build(); FieldElement oneOf2Field = FieldElement.builder(location) OneOfElement oneOf2 = OneOfElement.builder() .name("thinger") .fields(ImmutableList.of(oneOf2Field)) .build(); ExtensionsElement extensions1 = ExtensionsElement.create(location, 500, 501, "");
OneOfElement.builder() .name("hi") .fields(ImmutableList.of( FieldElement.builder(location) .type("string")
OneOfElement.builder() .name("page_info") .fields(ImmutableList.of(FieldElement.builder(location.at(4, 5)) .type("int32") .name("page_number")
OneOfElement.builder() .name("page_info") .fields(ImmutableList.of(FieldElement.builder(location.at(4, 5)) .type("int32") .name("page_number")
@Test public void addMultipleOneOfs() { OneOfElement hi = OneOfElement.builder() .name("hi") .fields(ImmutableList.of( FieldElement.builder(location) .type("string") .name("name") .tag(1) .build())) .build(); OneOfElement hey = OneOfElement.builder() .name("hey") .fields(ImmutableList.of( FieldElement.builder(location) .type("string") .name("city") .tag(2) .build())) .build(); MessageElement element = MessageElement.builder(location) .name("Message") .oneOfs(ImmutableList.of(hi, hey)) .build(); assertThat(element.oneOfs()).hasSize(2); }
@Test public void oneOfToSchema() { TypeElement element = MessageElement.builder(location) .name("Message") .oneOfs(ImmutableList.of( OneOfElement.builder() .name("hi") .fields(ImmutableList.of( FieldElement.builder(location) .type("string") .name("name") .tag(1) .build())) .build())) .build(); String expected = "" + "message Message {\n" + " oneof hi {\n" + " string name = 1;\n" + " }\n" + "}\n"; assertThat(element.toSchema()).isEqualTo(expected); }