1 /*
2 * Title: PageParser
3 * Description:
4 *
5 * This software is published under the terms of the OpenSymphony Software
6 * License version 1.1, of which a copy has been included with this
7 * distribution in the LICENSE.txt file.
8 */
9
10 package com.opensymphony.module.sitemesh;
11
12 import java.io.IOException;
13
14 /**
15 * The PageParser is responsible for parsing the page data into an appropriate
16 * {@link com.opensymphony.module.sitemesh.Page} object.
17 *
18 * <p>The implementation of this can be switched to parse different kind of data
19 * (<i>e.g.</i> HTML, WML, FOP, images) or for performance enhancements. An
20 * implementation is obtained through the {@link com.opensymphony.module.sitemesh.Factory} .</p>
21 *
22 * <p>A single PageParser is reused, therefore the parse() methods need to be thread-safe.</p>
23 *
24 * @author <a href="joe@truemesh.com">Joe Walnes</a>
25 * @version $Revision: 1.2 $
26 */
27 public interface PageParser {
28 /**
29 * This builds a Page.
30 */
31 Page parse(char[] data) throws IOException;
32 }