@@ -0,0 +1,2161 @@
+/*%0A * See the NOTICE file distributed with this work for additional%0A * information regarding copyright ownership.%0A *%0A * This is free software; you can redistribute it and/or modify it%0A * under the terms of the GNU Lesser General Public License as%0A * published by the Free Software Foundation; either version 2.1 of%0A * the License, or (at your option) any later version.%0A *%0A * This software is distributed in the hope that it will be useful,%0A * but WITHOUT ANY WARRANTY; without even the implied warranty of%0A * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU%0A * Lesser General Public License for more details.%0A *%0A * You should have received a copy of the GNU Lesser General Public%0A * License along with this software; if not, write to the Free%0A * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA%0A * 02110-1301 USA, or see the FSF site: http://www.fsf.org.%0A */%0Apackage org.xwiki.rendering.renderer.printer;%0A%0Aimport java.io.IOException;%0Aimport java.io.Writer;%0A%0A/**%0A * Printer using a %7B@link Writer%7D as the underlying output target.%0A * %0A * @version $Id$%0A * @since 6.2M1%0A */%0Apublic class WriterWikiPrinter implements WikiPrinter%0A%7B%0A    /**%0A     * The buffer where to put the provided %7B@link String%7Ds.%0A     */%0A    private Writer writer;%0A%0A    /**%0A     * @param writer the writer%0A     */%0A    public WriterWikiPrinter(Writer writer)%0A    %7B%0A        this.writer = writer;%0A    %7D%0A%0A    /**%0A     * @return the writer%0A     */%0A    public Writer getWriter()%0A    %7B%0A        return this.writer;%0A    %7D%0A%0A    /**%0A     * This method is protected to allow classes extending this one to override what a new line is.%0A     * %0A     * @return a new line symbols%0A     */%0A    protected String getEOL()%0A    %7B%0A        return %22%5Cn%22;%0A    %7D%0A%0A    @Override%0A    public void print(String text)%0A    %7B%0A        try %7B%0A            this.writer.write(text);%0A        %7D catch (IOException e) %7B%0A            throw new RuntimeException(%22Failed to write%22, e);%0A        %7D%0A    %7D%0A%0A    @Override%0A    public void println(String text)%0A    %7B%0A        print(text);%0A        print(getEOL());%0A    %7D%0A%0A    @Override%0A    public String toString()%0A    %7B%0A        return this.writer.toString();%0A    %7D%0A%7D%0A

Introduce helper to deletgate WikiPrinter calls to a Writer