/* * Copyright 2004-2006 Geert Bevin <gbevin[remove] at uwyn dot com> * Distributed under the terms of either: * - the common development and distribution license (CDDL), v1.0; or * - the GNU Lesser General Public License, v2.1 or later * $Id: Renderer.java 3108 2006-03-13 18:03:00Z gbevin $ */ package com.uwyn.jhighlight.renderer; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; /** * Provides interface to render the source code highlighting. * * @author Geert Bevin (gbevin[remove] at uwyn dot com) * @version $Revision: 3108 $ * @since 1.0 */ public interface Renderer { /** * Transforms source code that's provided through an * <code>InputStream</code> to highlighted syntax and writes it back to * an <code>OutputStream</code>. * * @param name The name of the source file. * @param in The input stream that provides the source code that needs to * be transformed. * @param out The output stream to which to result should be written. * @param encoding The encoding that will be used to read and write the * text. * @param fragment <code>true</code> if the result should be a fragment; * or <code>false</code> if it should be a complete document * @see #highlight(String, String, String, boolean) * @since 1.0 */ public void highlight(String name, InputStream in, OutputStream out, String encoding, boolean fragment) throws IOException; /** * Transforms source code that's provided through a * <code>String</code> to highlighted syntax and returns it as a * <code>String</code>. * * @param name The name of the source file. * @param in The input string that provides the source code that needs to * be transformed. * @param encoding The encoding that will be used to read and write the * text. * @param fragment <code>true</code> if the result should be a fragment; * or <code>false</code> if it should be a complete document * @return the highlighted source code as a string * @see #highlight(String, InputStream, OutputStream, String, boolean) * @since 1.0 */ public String highlight(String name, String in, String encoding, boolean fragment) throws IOException; }