Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  // Protocol Buffers - Google's data interchange format
  // Copyright 2008 Google Inc.  All rights reserved.
  // http://code.google.com/p/protobuf/
  //
  // Redistribution and use in source and binary forms, with or without
  // modification, are permitted provided that the following conditions are
  // met:
  //
  //     * Redistributions of source code must retain the above copyright
 // notice, this list of conditions and the following disclaimer.
 //     * Redistributions in binary form must reproduce the above
 // copyright notice, this list of conditions and the following disclaimer
 // in the documentation and/or other materials provided with the
 // distribution.
 //     * Neither the name of Google Inc. nor the names of its
 // contributors may be used to endorse or promote products derived from
 // this software without specific prior written permission.
 //
 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 package com.google.protobuf;
 
 
A partial implementation of the Parser interface which implements as many methods of that interface as possible in terms of other methods. Note: This class implements all the convenience methods in the Parser interface. See Parser for related javadocs. Subclasses need to implement Parser.parsePartialFrom(com.google.protobuf.CodedInputStream,com.google.protobuf.ExtensionRegistryLite)

Author(s):
liujisi@google.com (Pherl Liu)
 
 public abstract class AbstractParser<MessageType extends MessageLite>
     implements Parser<MessageType> {
  
Creates an UninitializedMessageException for MessageType.
 
       newUninitializedMessageException(MessageType message) {
     if (message instanceof AbstractMessageLite) {
       return ((AbstractMessageLitemessage).newUninitializedMessageException();
     }
     return new UninitializedMessageException(message);
   }

  
Helper method to check if message is initialized.

Returns:
The message to check.
Throws:
InvalidProtocolBufferException if it is not initialized.
 
   private MessageType checkMessageInitialized(MessageType message)
       throws InvalidProtocolBufferException {
     if (message != null && !message.isInitialized()) {
       throw newUninitializedMessageException(message)
           .asInvalidProtocolBufferException()
           .setUnfinishedMessage(message);
     }
     return message;
   }
 
   private static final ExtensionRegistryLite EMPTY_REGISTRY
       = ExtensionRegistryLite.getEmptyRegistry();
 
   public MessageType parsePartialFrom(CodedInputStream input)
       throws InvalidProtocolBufferException {
     return parsePartialFrom(input);
   }
 
   public MessageType parseFrom(CodedInputStream input,
                                ExtensionRegistryLite extensionRegistry)
       throws InvalidProtocolBufferException {
     return checkMessageInitialized(
         parsePartialFrom(inputextensionRegistry));
   }
 
   public MessageType parseFrom(CodedInputStream input)
       throws InvalidProtocolBufferException {
     return parseFrom(input);
   }
 
   public MessageType parsePartialFrom(ByteString data,
                                       ExtensionRegistryLite extensionRegistry)
    MessageType message;
    try {
      CodedInputStream input = data.newCodedInput();
      message = parsePartialFrom(inputextensionRegistry);
      try {
        input.checkLastTagWas(0);
      } catch (InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(message);
      }
      return message;
    } catch (InvalidProtocolBufferException e) {
      throw e;
    }
  }
  public MessageType parsePartialFrom(ByteString data)
      throws InvalidProtocolBufferException {
    return parsePartialFrom(data);
  }
  public MessageType parseFrom(ByteString data,
                               ExtensionRegistryLite extensionRegistry)
      throws InvalidProtocolBufferException {
    return checkMessageInitialized(parsePartialFrom(dataextensionRegistry));
  }
  public MessageType parseFrom(ByteString data)
      throws InvalidProtocolBufferException {
    return parseFrom(data);
  }
  public MessageType parsePartialFrom(byte[] dataint offint len,
                                      ExtensionRegistryLite extensionRegistry)
      throws InvalidProtocolBufferException {
    try {
      CodedInputStream input = CodedInputStream.newInstance(dataofflen);
      MessageType message = parsePartialFrom(inputextensionRegistry);
      try {
        input.checkLastTagWas(0);
      } catch (InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(message);
      }
      return message;
    } catch (InvalidProtocolBufferException e) {
      throw e;
    }
  }
  public MessageType parsePartialFrom(byte[] dataint offint len)
      throws InvalidProtocolBufferException {
    return parsePartialFrom(dataofflen);
  }
  public MessageType parsePartialFrom(byte[] data,
                                      ExtensionRegistryLite extensionRegistry)
      throws InvalidProtocolBufferException {
    return parsePartialFrom(data, 0, data.lengthextensionRegistry);
  }
  public MessageType parsePartialFrom(byte[] data)
      throws InvalidProtocolBufferException {
    return parsePartialFrom(data, 0, data.length);
  }
  public MessageType parseFrom(byte[] dataint offint len,
                               ExtensionRegistryLite extensionRegistry)
      throws InvalidProtocolBufferException {
        parsePartialFrom(dataofflenextensionRegistry));
  }
  public MessageType parseFrom(byte[] dataint offint len)
      throws InvalidProtocolBufferException {
    return parseFrom(dataofflen);
  }
  public MessageType parseFrom(byte[] data,
                               ExtensionRegistryLite extensionRegistry)
      throws InvalidProtocolBufferException {
    return parseFrom(data, 0, data.lengthextensionRegistry);
  }
  public MessageType parseFrom(byte[] data)
      throws InvalidProtocolBufferException {
    return parseFrom(data);
  }
  public MessageType parsePartialFrom(InputStream input,
                                      ExtensionRegistryLite extensionRegistry)
      throws InvalidProtocolBufferException {
    CodedInputStream codedInput = CodedInputStream.newInstance(input);
    MessageType message = parsePartialFrom(codedInputextensionRegistry);
    try {
      codedInput.checkLastTagWas(0);
    } catch (InvalidProtocolBufferException e) {
      throw e.setUnfinishedMessage(message);
    }
    return message;
  }
  public MessageType parsePartialFrom(InputStream input)
      throws InvalidProtocolBufferException {
    return parsePartialFrom(input);
  }
  public MessageType parseFrom(InputStream input,
                               ExtensionRegistryLite extensionRegistry)
      throws InvalidProtocolBufferException {
        parsePartialFrom(inputextensionRegistry));
  }
  public MessageType parseFrom(InputStream input)
      throws InvalidProtocolBufferException {
    return parseFrom(input);
  }
  public MessageType parsePartialDelimitedFrom(
      InputStream input,
      ExtensionRegistryLite extensionRegistry)
      throws InvalidProtocolBufferException {
    int size;
    try {
      int firstByte = input.read();
      if (firstByte == -1) {
        return null;
      }
      size = CodedInputStream.readRawVarint32(firstByteinput);
    } catch (IOException e) {
      throw new InvalidProtocolBufferException(e.getMessage());
    }
    InputStream limitedInput = new LimitedInputStream(inputsize);
    return parsePartialFrom(limitedInputextensionRegistry);
  }
  public MessageType parsePartialDelimitedFrom(InputStream input)
      throws InvalidProtocolBufferException {
  }
  public MessageType parseDelimitedFrom(
      InputStream input,
      ExtensionRegistryLite extensionRegistry)
      throws InvalidProtocolBufferException {
        parsePartialDelimitedFrom(inputextensionRegistry));
  }
  public MessageType parseDelimitedFrom(InputStream input)
      throws InvalidProtocolBufferException {
    return parseDelimitedFrom(input);
  }
New to GrepCode? Check out our FAQ X