com.fasterxml.jackson.core.io

Class InputDecorator

  • All Implemented Interfaces:
    Serializable


    public abstract class InputDecorator
    extends Object
    implements 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 Detail

      • InputDecorator

        public InputDecorator()
    • Method Detail

      • decorate

        public abstract InputStream decorate(IOContext ctxt,
                                             InputStream in)
                                      throws IOException
        Method called by JsonFactory instance when creating parser given an InputStream, 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:
        IOException - if construction of InputStream fails
      • decorate

        public abstract InputStream decorate(IOContext ctxt,
                                             byte[] src,
                                             int offset,
                                             int length)
                                      throws IOException
        Method called by JsonFactory instance when creating parser on given "raw" byte source. Method can either construct a InputStream 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 parse
        offset - Offset of the first available byte in the input buffer
        length - 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:
        IOException - if construction of InputStream fails
      • decorate

        public DataInput decorate(IOContext ctxt,
                                  DataInput input)
                           throws IOException
        Method called by JsonFactory instance when creating parser given an DataInput, 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:
        IOException - if construction of DataInput fails
        Since:
        2.8
      • decorate

        public abstract Reader decorate(IOContext ctxt,
                                        Reader r)
                                 throws IOException
        Method called by JsonFactory instance when creating parser given an Reader, 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:
        IOException - if construction of Reader fails

Copyright © 2008–2025 FasterXML. All rights reserved.