@@ -0,0 +1,1631 @@
+package com.miguelgaeta.message_parser;%0A%0Aimport java.io.IOException;%0Aimport java.util.List;%0A%0A/**%0A * Created by Miguel Gaeta on 1/19/16.%0A */%0A@SuppressWarnings(%22UnusedDeclaration%22)%0Apublic interface MessageParser %7B%0A%0A    boolean beginObject() throws IOException;%0A%0A    void endObject() throws IOException;%0A%0A    void close() throws IOException;%0A%0A    boolean hasNext() throws IOException;%0A%0A    String nextName() throws IOException;%0A%0A    void skipValue() throws IOException;%0A%0A    void nextNull() throws IOException;%0A%0A    String nextString() throws IOException;%0A%0A    String nextString(String defaultValue) throws IOException;%0A%0A    String nextStringOrNull() throws IOException;%0A%0A    boolean nextBoolean(boolean defaultValue) throws IOException;%0A%0A    boolean nextBoolean() throws IOException;%0A%0A    Boolean nextBooleanOrNull() throws IOException;%0A%0A    double nextDouble() throws IOException;%0A%0A    long nextLong(long defaultValue) throws IOException;%0A%0A    long nextLong() throws IOException;%0A%0A    Long nextLongOrNull() throws IOException;%0A%0A    int nextInt() throws IOException;%0A%0A    int nextInt(int defaultValue) throws IOException;%0A%0A    %3CT%3E List%3CT%3E nextList(ListInitializer%3CT%3E initializer, ListItem%3CT%3E item) throws IOException;%0A%0A    %3CT%3E List%3CT%3E nextList(ListInitializer%3CT%3E initializer, ListItem%3CT%3E item, boolean filterNull) throws IOException;%0A%0A    boolean nextObject(ObjectFieldAssigner handler) throws IOException;%0A%0A    interface ListInitializer%3CT%3E %7B%0A%0A        List%3CT%3E get();%0A    %7D%0A%0A    interface ListItem%3CT%3E %7B%0A%0A        T get() throws IOException;%0A    %7D%0A%0A    interface ObjectFieldAssigner %7B%0A%0A        void assign() throws IOException;%0A    %7D%0A%7D%0A

Drop in the message parser.