in activemq-protobuf/src/main/java/org/apache/activemq/protobuf/compiler/AltJavaGenerator.java [643:712]
private void generateMethodParseFrom(MessageDescriptor m, String bufferClassName, String beanClassName) {
p("public static "+beanClassName+" parseUnframed(org.apache.activemq.protobuf.CodedInputStream data) throws org.apache.activemq.protobuf.InvalidProtocolBufferException, java.io.IOException {");
indent();
p("return new "+beanClassName+"().mergeUnframed(data);");
unindent();
p("}");
p();
p("public static "+beanClassName+" parseUnframed(java.io.InputStream data) throws org.apache.activemq.protobuf.InvalidProtocolBufferException, java.io.IOException {");
indent();
p("return parseUnframed(new org.apache.activemq.protobuf.CodedInputStream(data));");
unindent();
p("}");
p();
p("public static "+bufferClassName+" parseUnframed(org.apache.activemq.protobuf.Buffer data) throws org.apache.activemq.protobuf.InvalidProtocolBufferException {");
indent();
p("return new "+bufferClassName+"(data);");
unindent();
p("}");
p();
p("public static "+bufferClassName+" parseUnframed(byte[] data) throws org.apache.activemq.protobuf.InvalidProtocolBufferException {");
indent();
p("return parseUnframed(new org.apache.activemq.protobuf.Buffer(data));");
unindent();
p("}");
p();
p("public static "+bufferClassName+" parseFramed(org.apache.activemq.protobuf.CodedInputStream data) throws org.apache.activemq.protobuf.InvalidProtocolBufferException, java.io.IOException {");
indent();
p("int length = data.readRawVarint32();");
p("int oldLimit = data.pushLimit(length);");
p(""+bufferClassName+" rc = parseUnframed(data.readRawBytes(length));");
p("data.popLimit(oldLimit);");
p("return rc;");
unindent();
p("}");
p();
p("public static "+bufferClassName+" parseFramed(org.apache.activemq.protobuf.Buffer data) throws org.apache.activemq.protobuf.InvalidProtocolBufferException {");
indent();
p("try {");
indent();
p("org.apache.activemq.protobuf.CodedInputStream input = new org.apache.activemq.protobuf.CodedInputStream(data);");
p(""+bufferClassName+" rc = parseFramed(input);");
p("input.checkLastTagWas(0);");
p("return rc;");
unindent();
p("} catch (org.apache.activemq.protobuf.InvalidProtocolBufferException e) {");
indent();
p("throw e;");
unindent();
p("} catch (java.io.IOException e) {");
indent();
p("throw new RuntimeException(\"An IOException was thrown (should never happen in this method).\", e);");
unindent();
p("}");
unindent();
p("}");
p();
p("public static "+bufferClassName+" parseFramed(byte[] data) throws org.apache.activemq.protobuf.InvalidProtocolBufferException {");
indent();
p("return parseFramed(new org.apache.activemq.protobuf.Buffer(data));");
unindent();
p("}");
p();
p("public static "+bufferClassName+" parseFramed(java.io.InputStream data) throws org.apache.activemq.protobuf.InvalidProtocolBufferException, java.io.IOException {");
indent();
p("return parseUnframed(org.apache.activemq.protobuf.MessageBufferSupport.readFrame(data));");
unindent();
p("}");
p();
}