Java 类com.google.protobuf.Descriptors.OneofDescriptor 实例源码

项目:cfapi    文件:DynamicMessage.java   
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;
}
项目:play-store-api    文件:DynamicMessage.java   
@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;
}
项目:protoc-gen-as3    文件:DynamicMessage.java   
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;
}
项目:protobuffer    文件:DynamicMessage.java   
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;
}
项目:GetThere    文件:DynamicMessage.java   
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;
}
项目:vsminecraft    文件:DynamicMessage.java   
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;
}
项目:cfapi    文件:DynamicMessage.java   
public boolean hasOneof(OneofDescriptor oneof) {
  verifyOneofContainingType(oneof);
  FieldDescriptor field = oneofCases[oneof.getIndex()];
  if (field == null) {
    return false;
  }
  return true;
}
项目:cfapi    文件:DynamicMessage.java   
/** 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.");
  }
}
项目:cfapi    文件:DynamicMessage.java   
public boolean hasOneof(OneofDescriptor oneof) {
  verifyOneofContainingType(oneof);
  FieldDescriptor field = oneofCases[oneof.getIndex()];
  if (field == null) {
    return false;
  }
  return true;
}
项目:cfapi    文件:DynamicMessage.java   
public Builder clearOneof(OneofDescriptor oneof) {
  verifyOneofContainingType(oneof);
  FieldDescriptor field = oneofCases[oneof.getIndex()];
  if (field != null) {
    clearField(field);
  }
  return this;
}
项目:cfapi    文件:DynamicMessage.java   
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;
}
项目:cfapi    文件:DynamicMessage.java   
/** 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.");
  }
}
项目:cfapi    文件:GeneratedMessage.java   
/** 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()];
}
项目:play-store-api    文件:DynamicMessage.java   
@Override
public boolean hasOneof(OneofDescriptor oneof) {
  verifyOneofContainingType(oneof);
  FieldDescriptor field = oneofCases[oneof.getIndex()];
  if (field == null) {
    return false;
  }
  return true;
}
项目:play-store-api    文件:DynamicMessage.java   
/** 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.");
  }
}
项目:play-store-api    文件:DynamicMessage.java   
@Override
public boolean hasOneof(OneofDescriptor oneof) {
  verifyOneofContainingType(oneof);
  FieldDescriptor field = oneofCases[oneof.getIndex()];
  if (field == null) {
    return false;
  }
  return true;
}
项目:play-store-api    文件:DynamicMessage.java   
@Override
public Builder clearOneof(OneofDescriptor oneof) {
  verifyOneofContainingType(oneof);
  FieldDescriptor field = oneofCases[oneof.getIndex()];
  if (field != null) {
    clearField(field);
  }
  return this;
}
项目:play-store-api    文件:DynamicMessage.java   
@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;
}
项目:play-store-api    文件:DynamicMessage.java   
/** 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.");
  }
}
项目:play-store-api    文件:GeneratedMessage.java   
/** 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()];
}
项目:protoc-gen-as3    文件:DynamicMessage.java   
/** 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.");
  }
}
项目:hpcourse    文件:DynamicMessage.java   
public Builder clearOneof(OneofDescriptor oneof) {
  verifyOneofContainingType(oneof);
  FieldDescriptor field = oneofCases[oneof.getIndex()];
  if (field != null) {
    clearField(field);
  }
  return this;
}
项目:protoc-gen-as3    文件:DynamicMessage.java   
public Builder clearOneof(OneofDescriptor oneof) {
  verifyOneofContainingType(oneof);
  FieldDescriptor field = oneofCases[oneof.getIndex()];
  if (field != null) {
    clearField(field);
  }
  return this;
}
项目:hpcourse    文件:DynamicMessage.java   
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;
}
项目:protoc-gen-as3    文件:DynamicMessage.java   
/** 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.");
  }
}
项目:vsminecraft    文件:DynamicMessage.java   
/** 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.");
  }
}
项目:protoc-gen-as3    文件:GeneratedMessage.java   
/** 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()];
}
项目:protobuffer    文件:DynamicMessage.java   
public boolean hasOneof(OneofDescriptor oneof) {
  verifyOneofContainingType(oneof);
  FieldDescriptor field = oneofCases[oneof.getIndex()];
  if (field == null) {
    return false;
  }
  return true;
}
项目:protobuffer    文件:DynamicMessage.java   
/** 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.");
  }
}
项目:protobuffer    文件:DynamicMessage.java   
public boolean hasOneof(OneofDescriptor oneof) {
  verifyOneofContainingType(oneof);
  FieldDescriptor field = oneofCases[oneof.getIndex()];
  if (field == null) {
    return false;
  }
  return true;
}
项目:protobuffer    文件:DynamicMessage.java   
/** 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.");
  }
}
项目:protobuffer    文件:GeneratedMessage.java   
/** 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()];
}
项目:protobuffer    文件:DynamicMessage.java   
public boolean hasOneof(OneofDescriptor oneof) {
  verifyOneofContainingType(oneof);
  FieldDescriptor field = oneofCases[oneof.getIndex()];
  if (field == null) {
    return false;
  }
  return true;
}
项目:protobuffer    文件:DynamicMessage.java   
/** 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.");
  }
}
项目:protobuffer    文件:DynamicMessage.java   
public boolean hasOneof(OneofDescriptor oneof) {
  verifyOneofContainingType(oneof);
  FieldDescriptor field = oneofCases[oneof.getIndex()];
  if (field == null) {
    return false;
  }
  return true;
}
项目:protobuffer    文件:DynamicMessage.java   
public Builder clearOneof(OneofDescriptor oneof) {
  verifyOneofContainingType(oneof);
  FieldDescriptor field = oneofCases[oneof.getIndex()];
  if (field != null) {
    clearField(field);
  }
  return this;
}
项目:protobuffer    文件:DynamicMessage.java   
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;
}
项目:protobuffer    文件:DynamicMessage.java   
/** 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.");
  }
}
项目:protobuffer    文件:GeneratedMessage.java   
/** 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()];
}
项目:vsminecraft    文件:DynamicMessageTest.java   
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));
}