Package com.fasterxml.jackson.core.io
Class InputDecorator
- java.lang.Object
-
- com.fasterxml.jackson.core.io.InputDecorator
-
- All Implemented Interfaces:
java.io.Serializable
public abstract class InputDecorator extends java.lang.Object implements java.io.Serializable
Handler class that can be used to decorate input sources. Typical use is to use a filter abstraction (filtered stream, reader) around original input source, and apply additional processing during read operations.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description InputDecorator()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract java.io.InputStream
decorate(IOContext ctxt, byte[] src, int offset, int length)
Method called byJsonFactory
instance when creating parser on given "raw" byte source.java.io.DataInput
decorate(IOContext ctxt, java.io.DataInput input)
Method called byJsonFactory
instance when creating parser given anDataInput
, when this decorator has been registered.abstract java.io.InputStream
decorate(IOContext ctxt, java.io.InputStream in)
Method called byJsonFactory
instance when creating parser given anInputStream
, when this decorator has been registered.abstract java.io.Reader
decorate(IOContext ctxt, java.io.Reader r)
Method called byJsonFactory
instance when creating parser given anReader
, when this decorator has been registered.
-
-
-
Method Detail
-
decorate
public abstract java.io.InputStream decorate(IOContext ctxt, java.io.InputStream in) throws java.io.IOException
Method called byJsonFactory
instance when creating parser given anInputStream
, when this decorator has been registered.- Parameters:
ctxt
- IO context in use (provides access to declared encoding). NOTE: at this point context may not have all information initialized; specifically auto-detected encoding is only available once parsing starts, which may occur only after this method is called.in
- Original input source- Returns:
- InputStream to use; either 'in' as is, or decorator version that typically delogates to 'in'
- Throws:
java.io.IOException
-
decorate
public abstract java.io.InputStream decorate(IOContext ctxt, byte[] src, int offset, int length) throws java.io.IOException
Method called byJsonFactory
instance when creating parser on given "raw" byte source. Method can either construct aInputStream
for reading; or return null to indicate that no wrapping should occur.- Parameters:
ctxt
- IO context in use (provides access to declared encoding) NOTE: at this point context may not have all information initialized; specifically auto-detected encoding is only available once parsing starts, which may occur only after this method is called.src
- Input buffer that contains contents to parseoffset
- Offset of the first available byte in the input bufferlength
- Number of bytes available in the input buffer- Returns:
- Either
InputStream
to use as input source; or null to indicate that contents are to be processed as-is by caller - Throws:
java.io.IOException
-
decorate
public java.io.DataInput decorate(IOContext ctxt, java.io.DataInput input) throws java.io.IOException
Method called byJsonFactory
instance when creating parser given anDataInput
, when this decorator has been registered.Default implementation simply throws
UnsupportedOperationException
- Parameters:
ctxt
- IO context in use (provides access to declared encoding). NOTE: at this point context may not have all information initialized; specifically auto-detected encoding is only available once parsing starts, which may occur only after this method is called.input
- Original input source- Returns:
- InputStream to use; either 'input' as is, or decorator version that typically delogates to 'input'
- Throws:
java.io.IOException
- Since:
- 2.8
-
decorate
public abstract java.io.Reader decorate(IOContext ctxt, java.io.Reader r) throws java.io.IOException
Method called byJsonFactory
instance when creating parser given anReader
, when this decorator has been registered.- Parameters:
ctxt
- IO context in use (provides access to declared encoding) NOTE: at this point context may not have all information initialized; specifically auto-detected encoding is only available once parsing starts, which may occur only after this method is called.r
- Original reader- Returns:
- Reader to use; either passed in argument, or something that
calls it (for example, a
FilterReader
) - Throws:
java.io.IOException
-
-