public <T> FieldSchema<T> createSchemaField(Field protoField, PropertyDescriptor propertyDescriptor) { // map is a special repeated if (protoField.isMap()) { return createMapFieldSchema(protoField, propertyDescriptor); } if (protoField.isRepeated()) { return createRepeatedSchema(protoField, propertyDescriptor); } if (isAnyField(protoField)) { return new AnySchema<>(protoMapper, protoField, propertyDescriptor); } if (protoField.getType().isScalar()) { return createScalarField(protoField, propertyDescriptor); } // message if (protoField.getType().isMessage()) { SchemaEx<Object> messageSchema = getOrCreateMessageSchema((Message) protoField.getType(), propertyDescriptor.getJavaType()); if (isWrapProperty((Message) protoField.getType())) { return new PropertyWrapperAsFieldSchema<>(protoField, propertyDescriptor, messageSchema); } return new MessageAsFieldSchema<>(protoField, propertyDescriptor, messageSchema); } if (protoField.isOneofPart()) { throw new IllegalStateException("not IMPL oneof now."); } ProtoUtils.throwNotSupportWrite(protoField, propertyDescriptor.getJavaType().getRawClass()); return null; }
private void checkFieldModifier(Message message, List<Field> fields) { for (Field field : fields) { if (field.isOneofPart() && field.hasModifier()) { throw new ParserException(field, "Oneof field cannot have modifier: %s", field.getModifier()); } } }
private void checkFieldModifier(Message message, List<Field> fields) { for (Field field : fields) { if (field.isOneofPart() && field.hasModifier()) { throw new ParserException(field, "Oneof field cannot have modifier: %s", field.getModifier()); } } }
.tag(field.getTag()) .description(createFieldDescription(field)) .oneof(field.isOneofPart() ? field.getOneof().getName() : null) .options(field.getOptions().toMap()); boolean isMap = field.isMap();
.tag(field.getTag()) .description(createFieldDescription(field)) .oneof(field.isOneofPart() ? field.getOneof().getName() : null) .options(field.getOptions().toMap()); boolean isMap = field.isMap();
if (protoField.isOneofPart()) { throw new IllegalStateException("not IMPL oneof now.");
if (protoField.isOneofPart()) { throw new IllegalStateException("not IMPL oneof now.");