Class CsvParserBootstrapper
java.lang.Object
com.fasterxml.jackson.dataformat.csv.impl.CsvParserBootstrapper
This class is used to determine the encoding of byte stream
that is to contain CSV document.
Since there is no real specification for how this should work
with CSV, it will be based on rules used with JSON (which themselves
are similar to those used with XML); main points are to check for
BOM first, then look for multi-byted fixed-length encodings
(UTF-16, UTF-32). And finally, if neither found, must decide
between most likely alternatives, UTF-8 and Latin-1.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected booleanprotected intprotected final com.fasterxml.jackson.core.ObjectCodecprotected final com.fasterxml.jackson.core.io.IOContextprotected final InputStreamprotected final byte[]protected intCurrent number of input units (bytes or chars) that were processed in previous blocks, before contents of current input buffer. -
Constructor Summary
ConstructorsConstructorDescriptionCsvParserBootstrapper(com.fasterxml.jackson.core.io.IOContext ctxt, com.fasterxml.jackson.core.ObjectCodec codec, byte[] inputBuffer, int inputStart, int inputLen) CsvParserBootstrapper(com.fasterxml.jackson.core.io.IOContext ctxt, com.fasterxml.jackson.core.ObjectCodec codec, InputStream in) -
Method Summary
Modifier and TypeMethodDescriptionconstructParser(int baseFeatures, int csvFeatures) protected booleanensureLoaded(int minimum) static com.fasterxml.jackson.core.format.MatchStrengthhasCSVFormat(com.fasterxml.jackson.core.format.InputAccessor acc, int quoteChar, char separatorChar) Current implementation is not as thorough as one used by other data formats like JSON.
-
Field Details
-
_context
protected final com.fasterxml.jackson.core.io.IOContext _context -
_codec
protected final com.fasterxml.jackson.core.ObjectCodec _codec -
_in
-
_inputBuffer
protected final byte[] _inputBuffer -
_inputProcessed
protected int _inputProcessedCurrent number of input units (bytes or chars) that were processed in previous blocks, before contents of current input buffer.Note: includes possible BOMs, if those were part of the input.
-
_bigEndian
protected boolean _bigEndian -
_bytesPerChar
protected int _bytesPerChar
-
-
Constructor Details
-
CsvParserBootstrapper
public CsvParserBootstrapper(com.fasterxml.jackson.core.io.IOContext ctxt, com.fasterxml.jackson.core.ObjectCodec codec, InputStream in) -
CsvParserBootstrapper
public CsvParserBootstrapper(com.fasterxml.jackson.core.io.IOContext ctxt, com.fasterxml.jackson.core.ObjectCodec codec, byte[] inputBuffer, int inputStart, int inputLen)
-
-
Method Details
-
constructParser
- Throws:
IOException
-
hasCSVFormat
public static com.fasterxml.jackson.core.format.MatchStrength hasCSVFormat(com.fasterxml.jackson.core.format.InputAccessor acc, int quoteChar, char separatorChar) throws IOException Current implementation is not as thorough as one used by other data formats like JSON. But it should work, for now, and can be improved as necessary.- Throws:
IOException
-
ensureLoaded
- Throws:
IOException
-