All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.fasterxml.jackson.core.io.OutputDecorator Maven / Gradle / Ivy

Go to download

Core Jackson processing abstractions (aka Streaming API), implementation for JSON

There is a newer version: 2.17.0
Show newest version
package com.fasterxml.jackson.core.io;

import java.io.*;

/**
 * Handler class that can be used to decorate output destinations.
 * Typical use is to use a filter abstraction (filtered output stream,
 * writer) around original output destination, and apply additional
 * processing during write operations.
 */
@SuppressWarnings("serial")
public abstract class OutputDecorator
    implements java.io.Serializable // since 2.1
{
    /**
     * Method called by {@link com.fasterxml.jackson.core.JsonFactory} instance when
     * creating generator for given {@link OutputStream}, when this decorator
     * has been registered.
     * 
     * @param ctxt IO context in use (provides access to declared encoding)
     * @param out Original output destination
     * 
     * @return OutputStream to use; either passed in argument, or something that
     *   calls it
     *
     * @throws IOException if construction of decorated {@link OutputStream} fails
     */
    public abstract OutputStream decorate(IOContext ctxt, OutputStream out) throws IOException;

    /**
     * Method called by {@link com.fasterxml.jackson.core.JsonFactory} instance when
     * creating generator for given {@link Writer}, when this decorator
     * has been registered.
     * 
     * @param ctxt IO context in use (provides access to declared encoding)
     * @param w Original output writer
     * 
     * @return Writer to use; either passed in argument, or something that calls it
     *
     * @throws IOException if construction of decorated {@link Writer} fails
     */
    public abstract Writer decorate(IOContext ctxt, Writer w) throws IOException;
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy