com.google.protobuf.Descriptors.EnumDescriptor#getValues ( )源码实例Demo

下面列出了com.google.protobuf.Descriptors.EnumDescriptor#getValues ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: gson   文件: ProtoTypeAdapter.java
/**
 * Finds an enum value in the given {@link EnumDescriptor} that matches the given JSON element,
 * either by name if the current adapter is using {@link EnumSerialization#NAME}, otherwise by
 * number. If matching by name, it uses the extension value if it is defined, otherwise it uses
 * its default value.
 *
 * @throws IllegalArgumentException if a matching name/number was not found
 */
private EnumValueDescriptor findValueByNameAndExtension(EnumDescriptor desc,
    JsonElement jsonElement) {
  if (enumSerialization == EnumSerialization.NAME) {
    // With enum name
    for (EnumValueDescriptor enumDesc : desc.getValues()) {
      String enumValue = getCustSerializedEnumValue(enumDesc.getOptions(), enumDesc.getName());
      if (enumValue.equals(jsonElement.getAsString())) {
        return enumDesc;
      }
    }
    throw new IllegalArgumentException(
        String.format("Unrecognized enum name: %s", jsonElement.getAsString()));
  } else {
    // With enum value
    EnumValueDescriptor fieldValue = desc.findValueByNumber(jsonElement.getAsInt());
    if (fieldValue == null) {
      throw new IllegalArgumentException(
          String.format("Unrecognized enum value: %s", jsonElement.getAsInt()));
    }
    return fieldValue;
  }
}
 
private void validateEnum(@Nonnull String fieldName, @Nonnull EnumDescriptor oldEnumDescriptor, @Nonnull EnumDescriptor newEnumDescriptor) {
    for (Descriptors.EnumValueDescriptor oldEnumValue : oldEnumDescriptor.getValues()) {
        Descriptors.EnumValueDescriptor newEnumValue = newEnumDescriptor.findValueByNumber(oldEnumValue.getNumber());
        if (newEnumValue == null) {
            throw new MetaDataException("enum removes value",
                    LogMessageKeys.FIELD_NAME, fieldName);
        }
    }
}
 
源代码3 项目: rejoiner   文件: ProtoToGql.java
static GraphQLEnumType convert(
    EnumDescriptor descriptor, SchemaOptions schemaOptions) {
  GraphQLEnumType.Builder builder = GraphQLEnumType.newEnum().name(getReferenceName(descriptor));
  for (EnumValueDescriptor value : descriptor.getValues()) {
    builder.value(
        value.getName(),
        value.getName(),
        schemaOptions.commentsMap().get(value.getFullName()),
        value.getOptions().getDeprecated() ? "deprecated in proto" : null);
  }
  return builder.build();
}
 
源代码4 项目: fuchsia   文件: ProtoGenerator.java
private void generateProtoFromDescriptor(EnumDescriptor descriptor,
                                         Appendable out, String indent) throws IOException {
    out.append(indent + "enum " + descriptor.getName() + " {\n");
    for (EnumValueDescriptor valueDescriptor : descriptor.getValues()) {
        generateProtoFromDescriptor(valueDescriptor, out, indent + "    ");
    }

    out.append(indent + "}\n");
}
 
源代码5 项目: bundletool   文件: ProtoFuzzer.java
private static Object randomEnum(EnumDescriptor enumDescriptor) {
  List<EnumValueDescriptor> enumConstants = enumDescriptor.getValues();
  return enumConstants.get(RAND.nextInt(enumConstants.size()));
}
 
源代码6 项目: swellrt   文件: RandomProtobufGenerator.java
private EnumValueDescriptor getRandomEnum(EnumDescriptor enumD) {
  List<EnumValueDescriptor> values = enumD.getValues();
  return values.get(random.nextInt(values.size()));
}
 
private EnumValueDescriptor getRandomEnum(EnumDescriptor enumD) {
  List<EnumValueDescriptor> values = enumD.getValues();
  return values.get(random.nextInt(values.size()));
}