当前位置: 首页>>代码示例>>Java>>正文


Java OneofDescriptor类代码示例

本文整理汇总了Java中com.google.protobuf.Descriptors.OneofDescriptor的典型用法代码示例。如果您正苦于以下问题:Java OneofDescriptor类的具体用法?Java OneofDescriptor怎么用?Java OneofDescriptor使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


OneofDescriptor类属于com.google.protobuf.Descriptors包,在下文中一共展示了OneofDescriptor类的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: setField

import com.google.protobuf.Descriptors.OneofDescriptor; //导入依赖的package包/类
public Builder setField(FieldDescriptor field, Object value) {
  verifyContainingType(field);
  ensureIsMutable();
  // TODO(xiaofeng): This check should really be put in FieldSet.setField()
  // where all other such checks are done. However, currently
  // FieldSet.setField() permits Integer value for enum fields probably
  // because of some internal features we support. Should figure it out
  // and move this check to a more appropriate place.
  if (field.getType() == FieldDescriptor.Type.ENUM) {
    ensureEnumValueDescriptor(field, value);
  }
  OneofDescriptor oneofDescriptor = field.getContainingOneof();
  if (oneofDescriptor != null) {
    int index = oneofDescriptor.getIndex();
    FieldDescriptor oldField = oneofCases[index];
    if ((oldField != null) && (oldField != field)) {
      fields.clearField(oldField);
    }
    oneofCases[index] = field;
  }
  fields.setField(field, value);
  return this;
}
 
开发者ID:reubenbrown13,项目名称:cfapi,代码行数:24,代码来源:DynamicMessage.java

示例2: setField

import com.google.protobuf.Descriptors.OneofDescriptor; //导入依赖的package包/类
@Override
public Builder setField(FieldDescriptor field, Object value) {
  verifyContainingType(field);
  ensureIsMutable();
  // TODO(xiaofeng): This check should really be put in FieldSet.setField()
  // where all other such checks are done. However, currently
  // FieldSet.setField() permits Integer value for enum fields probably
  // because of some internal features we support. Should figure it out
  // and move this check to a more appropriate place.
  if (field.getType() == FieldDescriptor.Type.ENUM) {
    ensureEnumValueDescriptor(field, value);
  }
  OneofDescriptor oneofDescriptor = field.getContainingOneof();
  if (oneofDescriptor != null) {
    int index = oneofDescriptor.getIndex();
    FieldDescriptor oldField = oneofCases[index];
    if ((oldField != null) && (oldField != field)) {
      fields.clearField(oldField);
    }
    oneofCases[index] = field;
  }
  fields.setField(field, value);
  return this;
}
 
开发者ID:yeriomin,项目名称:play-store-api,代码行数:25,代码来源:DynamicMessage.java

示例3: setField

import com.google.protobuf.Descriptors.OneofDescriptor; //导入依赖的package包/类
public Builder setField(FieldDescriptor field, Object value) {
  verifyContainingType(field);
  ensureIsMutable();
  if (field.getType() == FieldDescriptor.Type.ENUM) {
    verifyEnumType(field, value);
  }
  OneofDescriptor oneofDescriptor = field.getContainingOneof();
  if (oneofDescriptor != null) {
    int index = oneofDescriptor.getIndex();
    FieldDescriptor oldField = oneofCases[index];
    if ((oldField != null) && (oldField != field)) {
      fields.clearField(oldField);
    }
    oneofCases[index] = field;
  }
  fields.setField(field, value);
  return this;
}
 
开发者ID:lamiaa-elmorsy,项目名称:protobuffer,代码行数:19,代码来源:DynamicMessage.java

示例4: hasOneof

import com.google.protobuf.Descriptors.OneofDescriptor; //导入依赖的package包/类
public boolean hasOneof(OneofDescriptor oneof) {
  verifyOneofContainingType(oneof);
  FieldDescriptor field = oneofCases[oneof.getIndex()];
  if (field == null) {
    return false;
  }
  return true;
}
 
开发者ID:reubenbrown13,项目名称:cfapi,代码行数:9,代码来源:DynamicMessage.java

示例5: verifyOneofContainingType

import com.google.protobuf.Descriptors.OneofDescriptor; //导入依赖的package包/类
/** Verifies that the oneof is an oneof of this message. */
private void verifyOneofContainingType(OneofDescriptor oneof) {
  if (oneof.getContainingType() != type) {
    throw new IllegalArgumentException(
      "OneofDescriptor does not match message type.");
  }
}
 
开发者ID:reubenbrown13,项目名称:cfapi,代码行数:8,代码来源:DynamicMessage.java

示例6: clearOneof

import com.google.protobuf.Descriptors.OneofDescriptor; //导入依赖的package包/类
public Builder clearOneof(OneofDescriptor oneof) {
  verifyOneofContainingType(oneof);
  FieldDescriptor field = oneofCases[oneof.getIndex()];
  if (field != null) {
    clearField(field);
  }
  return this;
}
 
开发者ID:reubenbrown13,项目名称:cfapi,代码行数:9,代码来源:DynamicMessage.java

示例7: clearField

import com.google.protobuf.Descriptors.OneofDescriptor; //导入依赖的package包/类
public Builder clearField(FieldDescriptor field) {
  verifyContainingType(field);
  ensureIsMutable();
  OneofDescriptor oneofDescriptor = field.getContainingOneof();
  if (oneofDescriptor != null) {
    int index = oneofDescriptor.getIndex();
    if (oneofCases[index] == field) {
      oneofCases[index] = null;
    }
  }
  fields.clearField(field);
  return this;
}
 
开发者ID:reubenbrown13,项目名称:cfapi,代码行数:14,代码来源:DynamicMessage.java

示例8: getOneof

import com.google.protobuf.Descriptors.OneofDescriptor; //导入依赖的package包/类
/** Get the OneofAccessor for a particular oneof. */
private OneofAccessor getOneof(final OneofDescriptor oneof) {
  if (oneof.getContainingType() != descriptor) {
    throw new IllegalArgumentException(
      "OneofDescriptor does not match message type.");
  }
  return oneofs[oneof.getIndex()];
}
 
开发者ID:reubenbrown13,项目名称:cfapi,代码行数:9,代码来源:GeneratedMessage.java

示例9: hasOneof

import com.google.protobuf.Descriptors.OneofDescriptor; //导入依赖的package包/类
@Override
public boolean hasOneof(OneofDescriptor oneof) {
  verifyOneofContainingType(oneof);
  FieldDescriptor field = oneofCases[oneof.getIndex()];
  if (field == null) {
    return false;
  }
  return true;
}
 
开发者ID:yeriomin,项目名称:play-store-api,代码行数:10,代码来源:DynamicMessage.java

示例10: clearOneof

import com.google.protobuf.Descriptors.OneofDescriptor; //导入依赖的package包/类
@Override
public Builder clearOneof(OneofDescriptor oneof) {
  verifyOneofContainingType(oneof);
  FieldDescriptor field = oneofCases[oneof.getIndex()];
  if (field != null) {
    clearField(field);
  }
  return this;
}
 
开发者ID:yeriomin,项目名称:play-store-api,代码行数:10,代码来源:DynamicMessage.java

示例11: clearField

import com.google.protobuf.Descriptors.OneofDescriptor; //导入依赖的package包/类
@Override
public Builder clearField(FieldDescriptor field) {
  verifyContainingType(field);
  ensureIsMutable();
  OneofDescriptor oneofDescriptor = field.getContainingOneof();
  if (oneofDescriptor != null) {
    int index = oneofDescriptor.getIndex();
    if (oneofCases[index] == field) {
      oneofCases[index] = null;
    }
  }
  fields.clearField(field);
  return this;
}
 
开发者ID:yeriomin,项目名称:play-store-api,代码行数:15,代码来源:DynamicMessage.java

示例12: testDynamicOneofMessage

import com.google.protobuf.Descriptors.OneofDescriptor; //导入依赖的package包/类
public void testDynamicOneofMessage() throws Exception {
  DynamicMessage.Builder builder =
      DynamicMessage.newBuilder(TestAllTypes.getDescriptor());
  OneofDescriptor oneof = TestAllTypes.getDescriptor().getOneofs().get(0);
  assertFalse(builder.hasOneof(oneof));
  assertSame(null, builder.getOneofFieldDescriptor(oneof));

  reflectionTester.setAllFieldsViaReflection(builder);
  assertTrue(builder.hasOneof(oneof));
  FieldDescriptor field = oneof.getField(3);
  assertSame(field, builder.getOneofFieldDescriptor(oneof));

  DynamicMessage message = builder.buildPartial();
  assertTrue(message.hasOneof(oneof));

  DynamicMessage.Builder mergedBuilder =
      DynamicMessage.newBuilder(TestAllTypes.getDescriptor());
  FieldDescriptor mergedField = oneof.getField(0);
  mergedBuilder.setField(mergedField, 123);
  assertTrue(mergedBuilder.hasField(mergedField));
  mergedBuilder.mergeFrom(message);
  assertTrue(mergedBuilder.hasField(field));
  assertFalse(mergedBuilder.hasField(mergedField));

  builder.clearOneof(oneof);
  assertSame(null, builder.getOneofFieldDescriptor(oneof));
  message = builder.build();
  assertSame(null, message.getOneofFieldDescriptor(oneof));
}
 
开发者ID:Microsoft,项目名称:vsminecraft,代码行数:30,代码来源:DynamicMessageTest.java


注:本文中的com.google.protobuf.Descriptors.OneofDescriptor类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。