Package org.codehaus.jackson.impl
Class ByteSourceBootstrapper
- java.lang.Object
-
- org.codehaus.jackson.impl.ByteSourceBootstrapper
-
public final class ByteSourceBootstrapper extends Object
This class is used to determine the encoding of byte stream that is to contain JSON content. Rules are fairly simple, and defined in JSON specification (RFC-4627 or newer), except for BOM handling, which is a property of underlying streams.
-
-
Field Summary
Fields Modifier and Type Field Description protected boolean_bigEndianprotected int_bytesPerCharprotected IOContext_contextprotected InputStream_inprotected byte[]_inputBufferprotected int_inputProcessedCurrent number of input units (bytes or chars) that were processed in previous blocks, before contents of current input buffer.
-
Constructor Summary
Constructors Constructor Description ByteSourceBootstrapper(IOContext ctxt, byte[] inputBuffer, int inputStart, int inputLen)ByteSourceBootstrapper(IOContext ctxt, InputStream in)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description JsonParserconstructParser(int features, ObjectCodec codec, BytesToNameCanonicalizer rootByteSymbols, CharsToNameCanonicalizer rootCharSymbols)ReaderconstructReader()JsonEncodingdetectEncoding()Method that should be called after constructing an instace.protected booleanensureLoaded(int minimum)static MatchStrengthhasJSONFormat(InputAccessor acc)Current implementation is not as thorough as other functionality (ByteSourceBootstrapper); supports UTF-8, for example.
-
-
-
Field Detail
-
_context
protected final IOContext _context
-
_in
protected final InputStream _in
-
_inputBuffer
protected final byte[] _inputBuffer
-
_inputProcessed
protected int _inputProcessed
Current 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 Detail
-
ByteSourceBootstrapper
public ByteSourceBootstrapper(IOContext ctxt, InputStream in)
-
ByteSourceBootstrapper
public ByteSourceBootstrapper(IOContext ctxt, byte[] inputBuffer, int inputStart, int inputLen)
-
-
Method Detail
-
detectEncoding
public JsonEncoding detectEncoding() throws IOException, JsonParseException
Method that should be called after constructing an instace. It will figure out encoding that content uses, to allow for instantiating a proper scanner object.- Throws:
IOExceptionJsonParseException
-
constructReader
public Reader constructReader() throws IOException
- Throws:
IOException
-
constructParser
public JsonParser constructParser(int features, ObjectCodec codec, BytesToNameCanonicalizer rootByteSymbols, CharsToNameCanonicalizer rootCharSymbols) throws IOException, JsonParseException
- Throws:
IOExceptionJsonParseException
-
hasJSONFormat
public static MatchStrength hasJSONFormat(InputAccessor acc) throws IOException
Current implementation is not as thorough as other functionality (ByteSourceBootstrapper); supports UTF-8, for example. But it should work, for now, and can be improved as necessary.- Throws:
IOException- Since:
- 1.8
-
ensureLoaded
protected boolean ensureLoaded(int minimum) throws IOException- Throws:
IOException
-
-