Package org.htmlunit
Class DefaultPageCreator
- java.lang.Object
-
- org.htmlunit.DefaultPageCreator
-
- All Implemented Interfaces:
java.io.Serializable
,PageCreator
public class DefaultPageCreator extends java.lang.Object implements PageCreator, java.io.Serializable
The default implementation ofPageCreator
. Designed to be extended for easier handling of new content types. Just check the content type increatePage()
and callsuper(createPage())
if your custom type isn't found. There are also protectedcreateXXXXPage()
methods for creating thePage
types which HtmlUnit already knows about for your custom content types.The following table shows the type of
Page
created depending on the content type:
Content type Type of page text/html
text/javascriptHtmlPage
text/xml
application/xml
text/vnd.wap.wml
*+xmlXmlPage
, or anXHtmlPage
if an XHTML namespace is usedtext/* TextPage
Anything else UnexpectedPage
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
DefaultPageCreator.PageType
The different supported page types.
-
Constructor Summary
Constructors Constructor Description DefaultPageCreator()
Creates an instance.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected HtmlPage
createHtmlPage(WebResponse webResponse, WebWindow webWindow)
Creates an HtmlPage for this WebResponse.Page
createPage(WebResponse webResponse, WebWindow webWindow)
Create a Page object for the specified web response.protected TextPage
createTextPage(WebResponse webResponse, WebWindow webWindow)
Creates a TextPage for this WebResponse.protected UnexpectedPage
createUnexpectedPage(WebResponse webResponse, WebWindow webWindow)
Creates an UnexpectedPage for this WebResponse.protected XHtmlPage
createXHtmlPage(WebResponse webResponse, WebWindow webWindow)
Creates an XHtmlPage for this WebResponse.protected SgmlPage
createXmlPage(WebResponse webResponse, WebWindow webWindow)
Creates an SgmlPage for this WebResponse.static DefaultPageCreator.PageType
determinePageType(java.lang.String contentType)
Determines the kind of page to create from the content type.static DefaultPageCreator.PageType
determinePageType(WebResponse webResponse)
Determines the kind of page to create from the content type.org.htmlunit.html.parser.HTMLParser
getHtmlParser()
INTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK.
-
-
-
Method Detail
-
determinePageType
public static DefaultPageCreator.PageType determinePageType(java.lang.String contentType)
Determines the kind of page to create from the content type.- Parameters:
contentType
- the content type to evaluate- Returns:
- "xml", "html", "javascript", "text" or "unknown"
-
determinePageType
public static DefaultPageCreator.PageType determinePageType(WebResponse webResponse) throws java.io.IOException
Determines the kind of page to create from the content type.- Parameters:
webResponse
- the response to investigate- Returns:
- "xml", "html", "javascript", "text" or "unknown"
- Throws:
java.io.IOException
- if an IO problem occurs
-
createPage
public Page createPage(WebResponse webResponse, WebWindow webWindow) throws java.io.IOException
Create a Page object for the specified web response.- Specified by:
createPage
in interfacePageCreator
- Parameters:
webResponse
- the response from the serverwebWindow
- the window that this page will be loaded into- Returns:
- the new page object
- Throws:
java.io.IOException
- if an IO problem occurs
-
getHtmlParser
public org.htmlunit.html.parser.HTMLParser getHtmlParser()
INTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK.- Specified by:
getHtmlParser
in interfacePageCreator
- Returns:
- the HTMLParser in use
-
createHtmlPage
protected HtmlPage createHtmlPage(WebResponse webResponse, WebWindow webWindow) throws java.io.IOException
Creates an HtmlPage for this WebResponse.- Parameters:
webResponse
- the page's sourcewebWindow
- the WebWindow to place the HtmlPage in- Returns:
- the newly created HtmlPage
- Throws:
java.io.IOException
- if the page could not be created
-
createXHtmlPage
protected XHtmlPage createXHtmlPage(WebResponse webResponse, WebWindow webWindow) throws java.io.IOException
Creates an XHtmlPage for this WebResponse.- Parameters:
webResponse
- the page's sourcewebWindow
- the WebWindow to place the HtmlPage in- Returns:
- the newly created XHtmlPage
- Throws:
java.io.IOException
- if the page could not be created
-
createTextPage
protected TextPage createTextPage(WebResponse webResponse, WebWindow webWindow)
Creates a TextPage for this WebResponse.- Parameters:
webResponse
- the page's sourcewebWindow
- the WebWindow to place the TextPage in- Returns:
- the newly created TextPage
-
createUnexpectedPage
protected UnexpectedPage createUnexpectedPage(WebResponse webResponse, WebWindow webWindow)
Creates an UnexpectedPage for this WebResponse.- Parameters:
webResponse
- the page's sourcewebWindow
- the WebWindow to place the UnexpectedPage in- Returns:
- the newly created UnexpectedPage
-
createXmlPage
protected SgmlPage createXmlPage(WebResponse webResponse, WebWindow webWindow) throws java.io.IOException
Creates an SgmlPage for this WebResponse.- Parameters:
webResponse
- the page's sourcewebWindow
- the WebWindow to place the TextPage in- Returns:
- the newly created TextPage
- Throws:
java.io.IOException
- if the page could not be created
-
-