/*
* The contents of this file are subject to the Mozilla Public License Version 1.1
* (the "License"); you may not use this file except in compliance with the License.
* You may obtain a copy of the License at .
*
* Software distributed under the License is distributed on an "AS IS" basis, WITHOUT
* WARRANTY OF ANY KIND, either express or implied. See the License for the specific
* language governing rights and limitations under the License.
*
* The Original Code is the Venice Web Communities System.
*
* The Initial Developer of the Original Code is Eric J. Bowersox ,
* for Silverwrist Design Studios. Portions created by Eric J. Bowersox are
* Copyright (C) 2002-03 Eric J. Bowersox/Silverwrist Design Studios. All Rights Reserved.
*
* Contributor(s):
*/
package com.silverwrist.dynamo.iface;
import java.io.IOException;
import com.silverwrist.dynamo.except.RenderingException;
/**
* An interface implemented on Dynamo output objects to indicate that they are capable of rendering themselves
* to the output, without the use of a {@link com.silverwrist.dynamo.iface.Renderer Renderer} object.
* SelfRenderable
objects have access to greater capability (afforded them by the
* {@link com.silverwrist.dynamo.iface.SelfRenderControl SelfRenderControl} interface) than ordinary text or
* binary renderable objects do, and are frequently used to perform "special" operations.
*
* @author Eric J. Bowersox <erbo@silcom.com>
* @version X
*/
public interface SelfRenderable
{
/**
* Renders this object to the output.
*
* @param control A rendering control object that provides the means to render this object to the output, as
* well as providing "output services" (through the
* {@link com.silverwrist.dynamo.iface.ServiceProvider ServiceProvider} interface) for the
* rendering process to use.
* @exception java.io.IOException If an I/O error occurs while writing the output.
* @exception com.silverwrist.dynamo.except.RenderingException If the rendering process fails.
*/
public void render(SelfRenderControl control) throws IOException, RenderingException;
} // end interface SelfRenderable