Package org.htmlunit

Class DefaultPageCreator

  • All Implemented Interfaces:
    java.io.Serializable, PageCreator

    public class DefaultPageCreator
    extends java.lang.Object
    implements PageCreator, java.io.Serializable
    The default implementation of PageCreator. Designed to be extended for easier handling of new content types. Just check the content type in createPage() and call super(createPage()) if your custom type isn't found. There are also protected createXXXXPage() methods for creating the Page 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/javascript
    HtmlPage
    text/xml
    application/xml
    text/vnd.wap.wml
    *+xml
    XmlPage, or an XHtmlPage if an XHTML namespace is used
    text/* TextPage
    Anything else UnexpectedPage
    See Also:
    Serialized Form
    • Constructor Detail

      • DefaultPageCreator

        public DefaultPageCreator()
        Creates an instance.
    • 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 interface PageCreator
        Parameters:
        webResponse - the response from the server
        webWindow - 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 interface PageCreator
        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 source
        webWindow - 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 source
        webWindow - 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 source
        webWindow - 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 source
        webWindow - 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 source
        webWindow - the WebWindow to place the TextPage in
        Returns:
        the newly created TextPage
        Throws:
        java.io.IOException - if the page could not be created