/** Return a list of enums, sorted alphabetically by name. */ public List<GrpcEnumDocView> generateEnumDocs( ModelTypeTable typeTable, SurfaceNamer namer, Collection<EnumType> enumElements) { ImmutableSortedSet.Builder<GrpcEnumDocView> enumDocs = ImmutableSortedSet.orderedBy(Comparator.comparing(GrpcEnumDocView::name)); for (EnumType enumElement : enumElements) { if (!enumElement.isReachable()) { continue; } GrpcEnumDocView.Builder doc = GrpcEnumDocView.newBuilder(); doc.name(namer.getEnumTypeName(typeTable, enumElement)); doc.lines(namer.getDocLines(GapicParser.getDocString(enumElement))); doc.values(generateEnumValueDocs(namer, enumElement.getValues())); doc.packageName(enumElement.getFile().getFullName()); enumDocs.add(doc.build()); } return enumDocs.build().asList(); }
@VisitsBefore void normalize(EnumType enumType) { Enum.Builder coreEnumBuilder = Enum.newBuilder().setName(enumType.getFullName()); coreEnumBuilder.setSourceContext( SourceContext.newBuilder() .setFileName(enumType.getFile().getLocation().getDisplayString())); coreEnumBuilder.setSyntax(enumType.getSyntax()); for (EnumValue value : enumType.getReachableValues()) { com.google.protobuf.EnumValue.Builder coreEnumValueBuilder = com.google.protobuf.EnumValue.newBuilder(); // Use simple name for enum value, as otherwise client has to use // fully qualified name in the request. coreEnumValueBuilder.setName(value.getSimpleName()).setNumber(value.getNumber()); coreEnumValueBuilder.addAllOptions( DescriptorNormalization.getOptions(value.getProto(), includeDefaults)); coreEnumBuilder.addEnumvalue(coreEnumValueBuilder.build()); } coreEnumBuilder.addAllOptions( DescriptorNormalization.getOptions(enumType.getProto(), includeDefaults)); enums.add(coreEnumBuilder.build()); }
@VisitsBefore void normalize(EnumType enumType) { Enum.Builder coreEnumBuilder = Enum.newBuilder().setName(enumType.getFullName()); coreEnumBuilder.setSourceContext( SourceContext.newBuilder() .setFileName(enumType.getFile().getLocation().getDisplayString())); coreEnumBuilder.setSyntax(enumType.getSyntax()); for (EnumValue value : enumType.getReachableValues()) { com.google.protobuf.EnumValue.Builder coreEnumValueBuilder = com.google.protobuf.EnumValue.newBuilder(); // Use simple name for enum value, as otherwise client has to use // fully qualified name in the request. coreEnumValueBuilder.setName(value.getSimpleName()).setNumber(value.getNumber()); coreEnumValueBuilder.addAllOptions( DescriptorNormalization.getOptions(value.getProto(), includeDefaults)); coreEnumBuilder.addEnumvalue(coreEnumValueBuilder.build()); } coreEnumBuilder.addAllOptions( DescriptorNormalization.getOptions(enumType.getProto(), includeDefaults)); enums.add(coreEnumBuilder.build()); }