01: /*
02: * Title: PageParser
03: * Description:
04: *
05: * This software is published under the terms of the OpenSymphony Software
06: * License version 1.1, of which a copy has been included with this
07: * distribution in the LICENSE.txt file.
08: */
09:
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: }
|