private void parseInternal(TagHandler tagHandler, Descriptor messageDescriptor, RawProtoStreamReader in) throws IOException { tagHandler.onStart(messageDescriptor); parseMessage(tagHandler, messageDescriptor, in); tagHandler.onEnd(); }
messageHandler.onStart(null); messageHandler.onTag(fieldNumber, fieldDescriptor, tagValue); messageHandler.onEnd(); break;
@Override public void onEnd() { if (wrappedEnum != null) { EnumDescriptor enumDescriptor = (EnumDescriptor) getDescriptor(); String enumConstantName = enumDescriptor.findValueByNumber(wrappedEnum).getName(); FieldDescriptor fd = wrapperDescriptor.findFieldByNumber(WRAPPED_ENUM); messageHandler.onStart(enumDescriptor); messageHandler.onTag(WRAPPED_ENUM, fd, enumConstantName); messageHandler.onEnd(); } else if (wrappedMessage != null) { try { Descriptor messageDescriptor = (Descriptor) getDescriptor(); ProtobufParser.INSTANCE.parse(messageHandler, messageDescriptor, wrappedMessage); } catch (IOException e) { throw new RuntimeException(e); } } } };