| package org.codehaus.jackson.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. |
| * |
| * @since 1.8 |
| */ |
| public abstract class OutputDecorator |
| { |
| /** |
| * Method called by {@link org.codehaus.jackson.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 |
| */ |
| public abstract OutputStream decorate(IOContext ctxt, OutputStream out) |
| throws IOException; |
| |
| /** |
| * Method called by {@link org.codehaus.jackson.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 |
| */ |
| public abstract Writer decorate(IOContext ctxt, Writer w) throws IOException; |
| } |