本文整理汇总了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;
}
示例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;
}
示例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;
}
示例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;
}
示例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.");
}
}
示例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;
}
示例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;
}
示例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()];
}
示例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;
}
示例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;
}
示例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;
}
示例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));
}