@Override public final String toSchema() { StringBuilder builder = new StringBuilder(); appendDocumentation(builder, documentation()); builder.append("enum ") .append(name()) .append(" {"); if (!options().isEmpty()) { builder.append('\n'); for (OptionElement option : options()) { appendIndented(builder, option.toSchemaDeclaration()); } } if (!constants().isEmpty()) { builder.append('\n'); for (EnumConstantElement constant : constants()) { appendIndented(builder, constant.toSchema()); } } return builder.append("}\n").toString(); }
static EnumType fromElement(ProtoType protoType, EnumElement enumElement) { ImmutableList<EnumConstant> constants = EnumConstant.fromElements(enumElement.constants()); Options options = new Options(Options.ENUM_OPTIONS, enumElement.options()); return new EnumType(protoType, enumElement.location(), enumElement.documentation(), enumElement.name(), constants, options); }
@Test public void addMultipleOptions() { OptionElement kitKat = OptionElement.create("kit", STRING, "kat"); OptionElement fooBar = OptionElement.create("foo", STRING, "bar"); EnumElement element = EnumElement.builder(location) .name("Enum") .options(ImmutableList.of(kitKat, fooBar)) .constants(ImmutableList.of( EnumConstantElement.builder(location).name("ONE").tag(1).build())) .build(); assertThat(element.options()).hasSize(2); }
@Override public boolean equals(Object o) { if (o == this) { return true; } if (o instanceof EnumElement) { EnumElement that = (EnumElement) o; return (this.location.equals(that.location())) && (this.name.equals(that.name())) && (this.documentation.equals(that.documentation())) && (this.options.equals(that.options())) && (this.constants.equals(that.constants())); } return false; }
@Override public final String toSchema() { StringBuilder builder = new StringBuilder(); appendDocumentation(builder, documentation()); builder.append("enum ") .append(name()) .append(" {"); if (!options().isEmpty()) { builder.append('\n'); for (OptionElement option : options()) { appendIndented(builder, option.toSchemaDeclaration()); } } if (!constants().isEmpty()) { builder.append('\n'); for (EnumConstantElement constant : constants()) { appendIndented(builder, constant.toSchema()); } } return builder.append("}\n").toString(); }
@Override public final String toSchema() { StringBuilder builder = new StringBuilder(); appendDocumentation(builder, documentation()); builder.append("enum ") .append(name()) .append(" {"); if (!options().isEmpty()) { builder.append('\n'); for (OptionElement option : options()) { appendIndented(builder, option.toSchemaDeclaration()); } } if (!constants().isEmpty()) { builder.append('\n'); for (EnumConstantElement constant : constants()) { appendIndented(builder, constant.toSchema()); } } return builder.append("}\n").toString(); }
Builder(EnumElement source) { this.location = source.location(); this.name = source.name(); this.documentation = source.documentation(); this.options = source.options(); this.constants = source.constants(); } @Override
static EnumType fromElement(ProtoType protoType, EnumElement enumElement) { ImmutableList<EnumConstant> constants = EnumConstant.fromElements(enumElement.constants()); Options options = new Options(Options.ENUM_OPTIONS, enumElement.options()); return new EnumType(protoType, enumElement.location(), enumElement.documentation(), enumElement.name(), constants, options); }
static EnumType fromElement(ProtoType protoType, EnumElement enumElement) { ImmutableList<EnumConstant> constants = EnumConstant.fromElements(enumElement.constants()); Options options = new Options(Options.ENUM_OPTIONS, enumElement.options()); return new EnumType(protoType, enumElement.location(), enumElement.documentation(), enumElement.name(), constants, options); }