Class CsvDecoder

  • All Implemented Interfaces:
    org.apache.avro.io.parsing.Parser.ActionHandler, org.apache.avro.io.parsing.SkipParser.SkipHandler

    public final class CsvDecoder
    extends org.apache.avro.io.ParsingDecoder
    A Csv encoder for avro records. there are restrictions on the what schema's are supported.
    Author:
    Zoltan Farkas
    • Constructor Detail

      • CsvDecoder

        public CsvDecoder​(org.spf4j.io.csv.CsvReader csvReader,
                          org.apache.avro.Schema readerSchema)
                   throws IOException
        Throws:
        IOException
    • Method Detail

      • skipHeader

        public void skipHeader()
                        throws IOException,
                               org.spf4j.io.csv.CsvParseException
        Throws:
        IOException
        org.spf4j.io.csv.CsvParseException
      • readNull

        public void readNull()
                      throws IOException
        Specified by:
        readNull in class org.apache.avro.io.Decoder
        Throws:
        IOException
      • readBoolean

        public boolean readBoolean()
                            throws IOException
        Specified by:
        readBoolean in class org.apache.avro.io.Decoder
        Throws:
        IOException
      • readInt

        public int readInt()
                    throws IOException
        Specified by:
        readInt in class org.apache.avro.io.Decoder
        Throws:
        IOException
      • readLong

        public long readLong()
                      throws IOException
        Specified by:
        readLong in class org.apache.avro.io.Decoder
        Throws:
        IOException
      • readFloat

        public float readFloat()
                        throws IOException
        Specified by:
        readFloat in class org.apache.avro.io.Decoder
        Throws:
        IOException
      • readDouble

        public double readDouble()
                          throws IOException
        Specified by:
        readDouble in class org.apache.avro.io.Decoder
        Throws:
        IOException
      • readString

        public org.apache.avro.util.Utf8 readString​(org.apache.avro.util.Utf8 utf8)
                                             throws IOException
        Specified by:
        readString in class org.apache.avro.io.Decoder
        Throws:
        IOException
      • readString

        public String readString()
                          throws IOException
        Specified by:
        readString in class org.apache.avro.io.Decoder
        Throws:
        IOException
      • skipString

        public void skipString()
                        throws IOException
        Specified by:
        skipString in class org.apache.avro.io.Decoder
        Throws:
        IOException
      • skipBytes

        public void skipBytes()
                       throws IOException
        Specified by:
        skipBytes in class org.apache.avro.io.Decoder
        Throws:
        IOException
      • readFixed

        public void readFixed​(byte[] bytes,
                              int i,
                              int nrBytes)
                       throws IOException
        Specified by:
        readFixed in class org.apache.avro.io.Decoder
        Throws:
        IOException
      • skipFixed

        public void skipFixed​(int i)
                       throws IOException
        Specified by:
        skipFixed in class org.apache.avro.io.Decoder
        Throws:
        IOException
      • readEnum

        public int readEnum()
                     throws IOException
        Specified by:
        readEnum in class org.apache.avro.io.Decoder
        Throws:
        IOException
      • readArrayStart

        public long readArrayStart()
                            throws IOException
        Specified by:
        readArrayStart in class org.apache.avro.io.Decoder
        Throws:
        IOException
      • arrayNext

        public long arrayNext()
                       throws IOException
        Specified by:
        arrayNext in class org.apache.avro.io.Decoder
        Throws:
        IOException
      • skipArray

        public long skipArray()
                       throws IOException
        Specified by:
        skipArray in class org.apache.avro.io.Decoder
        Throws:
        IOException
      • readMapStart

        public long readMapStart()
        Specified by:
        readMapStart in class org.apache.avro.io.Decoder
      • mapNext

        public long mapNext()
        Specified by:
        mapNext in class org.apache.avro.io.Decoder
      • skipMap

        public long skipMap()
        Specified by:
        skipMap in class org.apache.avro.io.Decoder
      • readIndex

        public int readIndex()
                      throws IOException
        Specified by:
        readIndex in class org.apache.avro.io.Decoder
        Throws:
        IOException
      • skipFixed

        protected void skipFixed()
                          throws IOException
        Specified by:
        skipFixed in class org.apache.avro.io.ParsingDecoder
        Throws:
        IOException
      • doAction

        @Nullable
        public org.apache.avro.io.parsing.Symbol doAction​(org.apache.avro.io.parsing.Symbol symbol,
                                                          org.apache.avro.io.parsing.Symbol symbol1)
      • tryDecodeSchema

        public static DecodedSchema tryDecodeSchema​(InputStream is,
                                                    @Nullable
                                                    org.apache.avro.Schema readerSchema)
                                             throws IOException
        Will try to decode the writer schema based on the csv headers, and the reader schema.
        Parameters:
        is -
        readerSchema -
        Returns:
        Throws:
        IOException