Class DefaultElementFactory

java.lang.Object
org.htmlunit.html.DefaultElementFactory
All Implemented Interfaces:
ElementFactory

public class DefaultElementFactory extends Object implements ElementFactory
INTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK.
Element factory which creates elements by calling the constructor on a given HtmlElement subclass. The constructor is expected to take 2 arguments of type HtmlPage and Map where the first one is the owning page of the element, the second one is a map holding the initial attributes for the element.
  • Field Details

    • LOG

      private static final org.apache.commons.logging.Log LOG
      Logging support.
    • KEYGEN_

      private static final String KEYGEN_
      See Also:
    • SUPPORTED_TAGS_

      public static final List<String> SUPPORTED_TAGS_
      You can generate your own test cases by looking into ElementTestSource.generateTestForHtmlElements.
  • Constructor Details

    • DefaultElementFactory

      public DefaultElementFactory()
  • Method Details

    • createElement

      public HtmlElement createElement(SgmlPage page, String tagName, Attributes attributes)
      Description copied from interface: ElementFactory
      Creates an element according to this factory's specification. Note that even though this method takes a page parameter, the element is not automatically added to the page's DOM tree.
      Specified by:
      createElement in interface ElementFactory
      Parameters:
      page - the owning page
      tagName - the HTML tag name
      attributes - initial attributes, possibly null
      Returns:
      the newly created element
    • createElementNS

      public HtmlElement createElementNS(SgmlPage page, String namespaceURI, String qualifiedName, Attributes attributes)
      Description copied from interface: ElementFactory
      Creates an element according to this factory's specification. Note that even though this method takes a page parameter, the element is not automatically added to the page's DOM tree.
      Specified by:
      createElementNS in interface ElementFactory
      Parameters:
      page - the owning page
      namespaceURI - the URI that identifies an XML namespace
      qualifiedName - the qualified name of the element type to instantiate
      attributes - initial attributes, possibly null
      Returns:
      the newly created element
    • createElementNS

      public HtmlElement createElementNS(SgmlPage page, String namespaceURI, String qualifiedName, Attributes attributes, boolean checkBrowserCompatibility)
      Description copied from interface: ElementFactory
      Creates an element according to this factory's specification. Note that even though this method takes a page parameter, the element is not automatically added to the page's DOM tree.
      Specified by:
      createElementNS in interface ElementFactory
      Parameters:
      page - the owning page
      namespaceURI - the URI that identifies an XML namespace
      qualifiedName - the qualified name of the element type to instantiate
      attributes - initial attributes, possibly null
      checkBrowserCompatibility - if true and the page doesn't support this element, return null
      Returns:
      the newly created element
    • toMap

      static Map<String,DomAttr> toMap(SgmlPage page, Attributes attributes)
      Converts Attributes into the map needed by HtmlElements.
      Parameters:
      page - the page which contains the specified attributes
      attributes - the SAX attributes
      Returns:
      the map of attribute values for HtmlElements
    • createInputElement

      private HtmlElement createInputElement(String qualifiedName, SgmlPage page, Map<String,DomAttr> attributeMap)