當前位置: 首頁>>代碼示例>>Java>>正文


Java FieldDescriptor.isMapField方法代碼示例

本文整理匯總了Java中com.google.protobuf.Descriptors.FieldDescriptor.isMapField方法的典型用法代碼示例。如果您正苦於以下問題:Java FieldDescriptor.isMapField方法的具體用法?Java FieldDescriptor.isMapField怎麽用?Java FieldDescriptor.isMapField使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在com.google.protobuf.Descriptors.FieldDescriptor的用法示例。


在下文中一共展示了FieldDescriptor.isMapField方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: ProtoFieldInfo

import com.google.protobuf.Descriptors.FieldDescriptor; //導入方法依賴的package包/類
ProtoFieldInfo(FieldDescriptor field, Message containingPrototype) {
  this.field = checkNotNull(field, "field");
  this.containingPrototype = checkNotNull(containingPrototype, "containingPrototype");
  builderClass = containingPrototype.newBuilderForType().getClass();

  camelCaseName = underscoresToUpperCamelCase(field.getName());

  if (field.isMapField()) {
    Descriptor mapType = field.getMessageType();
    mapKeyField = new ProtoFieldInfo(mapType.findFieldByName("key"), containingPrototype);
    mapValueField = new ProtoFieldInfo(mapType.findFieldByName("value"), containingPrototype);
  } else {
    mapKeyField = null;
    mapValueField = null;
  }
}
 
開發者ID:curioswitch,項目名稱:curiostack,代碼行數:17,代碼來源:ProtoFieldInfo.java

示例2: printField

import com.google.protobuf.Descriptors.FieldDescriptor; //導入方法依賴的package包/類
private void printField(FieldDescriptor field, Object value) throws IOException {
  if (preservingProtoFieldNames) {
    generator.print("\"" + field.getName() + "\":" + blankOrSpace);
  } else {
    generator.print("\"" + field.getJsonName() + "\":" + blankOrSpace);
  }
  if (field.isMapField()) {
    printMapFieldValue(field, value);
  } else if (field.isRepeated()) {
    printRepeatedFieldValue(field, value);
  } else {
    printSingleFieldValue(field, value);
  }
}
 
開發者ID:SeldonIO,項目名稱:seldon-core,代碼行數:15,代碼來源:JsonFormat.java

示例3: mergeField

import com.google.protobuf.Descriptors.FieldDescriptor; //導入方法依賴的package包/類
private void mergeField(FieldDescriptor field, JsonElement json, Message.Builder builder)
    throws InvalidProtocolBufferException {
  if (field.isRepeated()) {
    if (builder.getRepeatedFieldCount(field) > 0) {
      throw new InvalidProtocolBufferException(
          "Field " + field.getFullName() + " has already been set.");
    }
  } else {
    if (builder.hasField(field)) {
      throw new InvalidProtocolBufferException(
          "Field " + field.getFullName() + " has already been set.");
    }
    if (field.getContainingOneof() != null
        && builder.getOneofFieldDescriptor(field.getContainingOneof()) != null) {
      FieldDescriptor other = builder.getOneofFieldDescriptor(field.getContainingOneof());
      throw new InvalidProtocolBufferException(
          "Cannot set field "
              + field.getFullName()
              + " because another field "
              + other.getFullName()
              + " belonging to the same oneof has already been set ");
    }
  }
  if (field.isRepeated() && json instanceof JsonNull) {
    // We allow "null" as value for all field types and treat it as if the
    // field is not present.
    return;
  }
  if (field.isMapField()) {
    mergeMapField(field, json, builder);
  } else if (field.isRepeated()) {
    mergeRepeatedField(field, json, builder);
  } else {
    Object value = parseFieldValue(field, json, builder);
    if (value != null) {
      builder.setField(field, value);
    }
  }
}
 
開發者ID:SeldonIO,項目名稱:seldon-core,代碼行數:40,代碼來源:JsonFormat.java


注:本文中的com.google.protobuf.Descriptors.FieldDescriptor.isMapField方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。