56 lines
2.6 KiB
Java
56 lines
2.6 KiB
Java
/*
|
|
* 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 <http://www.mozilla.org/MPL/>.
|
|
*
|
|
* 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 <erbo@silcom.com>,
|
|
* for Silverwrist Design Studios. Portions created by Eric J. Bowersox are
|
|
* Copyright (C) 2003 Eric J. Bowersox/Silverwrist Design Studios. All Rights Reserved.
|
|
*
|
|
* Contributor(s):
|
|
*/
|
|
package com.silverwrist.dynamo.iface;
|
|
|
|
import com.silverwrist.dynamo.htmlcheck.MarkupData;
|
|
import com.silverwrist.dynamo.util.QualifiedNameKey;
|
|
|
|
/**
|
|
* An interface implemented by HTML Checker <EM>rewriters</EM>, which rewrite specific sequences of text in the HTML
|
|
* Checker's input.
|
|
*
|
|
* @author Eric J. Bowersox <erbo@silcom.com>
|
|
* @version X
|
|
*/
|
|
public interface HTMLRewriter
|
|
{
|
|
/**
|
|
* Returns the name of this rewriter. If this returns a value other than <CODE>null</CODE>, the HTML Checker will
|
|
* create a counter with this name, which will count the number of times the rewriter chooses to rewrite the text.
|
|
*
|
|
* @return The namespace and name of this rewriter as a
|
|
* {@link com.silverwrist.dynamo.util.QualifiedNameKey QualifiedNameKey}, or <CODE>null</CODE>.
|
|
*/
|
|
public QualifiedNameKey getName();
|
|
|
|
/**
|
|
* Determines whether to rewrite the specified text, and rewrites it if necessary. The
|
|
* {@link com.silverwrist.dynamo.htmlcheck.MarkupData MarkupData} object provides for beginning and ending markup
|
|
* and text surrounding the text in question.
|
|
*
|
|
* @param data The text to be checked and possibly rewritten.
|
|
* @param prefix A string to be used as a prefix for the result; may be <CODE>null</CODE>.
|
|
* @param suffix A string to be used as a suffix for the result; may be <CODE>null</CODE>.
|
|
* @param site Provides an interface for the rewriter to interact with the HTML Checker's context and attributes.
|
|
* @return <CODE>null</CODE> if the text should not be rewritten, or a
|
|
* {@link com.silverwrist.dynamo.htmlcheck.MarkupData MarkupData} object containing the rewritten text.
|
|
*/
|
|
public MarkupData rewrite(String data, String prefix, String suffix, HTMLRewriterSite site);
|
|
|
|
} // end interface HTMLRewriter
|