/*
* Copyright Aduna (http://www.aduna-software.com/) (c) 1997-2006.
*
* Licensed under the Aduna BSD-style license.
*/
package org.openrdf.rio;
import org.openrdf.model.Statement;
/**
* An interface defining methods related to RDF data handling.
* <tt>RDFHandler</tt> is both used as a "consumer" and as a "producer"
* interface. As such it can be used both as an interface for receiving RDF
* data, for example by listening to the results of an RDF parser, and as an
* interface for reporting RDF data, for example to an object that serializes
* RDF data to an RDF/XML document.
*/
public interface RDFHandler {
/**
* Signals the start of the RDF data. This method is called before any data
* is reported.
*
* @throws RDFHandlerException
* If the RDF handler has encountered an unrecoverable error.
*/
public void startRDF()
throws RDFHandlerException;
/**
* Signals the end of the RDF data. This method is called when all data has
* been reported.
*
* @throws RDFHandlerException
* If the RDF handler has encountered an unrecoverable error.
*/
public void endRDF()
throws RDFHandlerException;
/**
* Handles a namespace declaration/definition. A namespace declaration
* associates a (short) prefix string with the namespace's URI. The prefix
* for default namespaces, which do not have an associated prefix, are
* represented as empty strings.
*
* @param prefix
* The prefix for the namespace, or an empty string in case of a
* default namespace.
* @param uri
* The URI that the prefix maps to.
* @throws RDFHandlerException
* If the RDF handler has encountered an unrecoverable error.
*/
public void handleNamespace(String prefix, String uri)
throws RDFHandlerException;
/**
* Handles a statement.
*
* @param st
* The statement.
* @throws RDFHandlerException
* If the RDF handler has encountered an unrecoverable error.
*/
public void handleStatement(Statement st)
throws RDFHandlerException;
/**
* Handles a comment.
*
* @param comment
* The comment.
* @throws RDFHandlerException
* If the RDF handler has encountered an unrecoverable error.
*/
public void handleComment(String comment)
throws RDFHandlerException;
}