Class InputDecorator

java.lang.Object
org.codehaus.jackson.io.InputDecorator

public abstract class InputDecorator extends Object
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.
Since:
1.8
  • Constructor Details

    • InputDecorator

      public InputDecorator()
  • Method Details

    • 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 passed in argument, or something that calls it
      Throws:
      IOException
    • 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
    • decorate

      public abstract Reader decorate(IOContext ctxt, Reader src) 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.
      src - Original input source
      Returns:
      Reader to use; either passed in argument, or something that calls it (for example, a FilterReader)
      Throws:
      IOException