Class SvgElementFactory

java.lang.Object
org.htmlunit.svg.SvgElementFactory
All Implemented Interfaces:
ElementFactory

public class SvgElementFactory extends Object implements ElementFactory
Element factory which creates elements by calling the constructor on a given SvgElement subclass.
  • Field Details

    • CLASSES_

      private static final Class<?>[] CLASSES_
    • ELEMENTS_

      private static final Map<String,Class<?>> ELEMENTS_
  • Constructor Details

    • SvgElementFactory

      public SvgElementFactory()
  • Method Details

    • createElement

      public DomElement createElement(SgmlPage page, String tagName, Attributes attributes)
      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 enclosing page for the new element
      tagName - the tag name (most factories will be responsible for a specific tag, but this parameter is passed in for factories that don't follow this rule)
      attributes - the attributes encountered during XML/HTML parsing (possibly null if no attributes specified
      Returns:
      the newly created and initialized element
    • createElementNS

      public DomElement createElementNS(SgmlPage page, String namespaceURI, String qualifiedName, Attributes attributes)
      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 enclosing page for the new element
      namespaceURI - the URI that identifies an XML namespace
      qualifiedName - the qualified name of the element type to instantiate
      attributes - the attributes encountered during XML/HTML parsing (possibly null if no attributes specified
      Returns:
      the newly created and initialized element
    • createElementNS

      public DomElement createElementNS(SgmlPage page, String namespaceURI, String qualifiedNameLC, Attributes attributes, boolean checkBrowserCompatibility)
      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 enclosing page for the new element
      namespaceURI - the URI that identifies an XML namespace
      qualifiedNameLC - the qualified name of the element type to instantiate
      attributes - the attributes encountered during XML/HTML parsing (possibly null if no attributes specified
      checkBrowserCompatibility - if true and the page doesn't support this element, return null
      Returns:
      the newly created and initialized element
    • toMap

      private static Map<String,DomAttr> toMap(SgmlPage page, Attributes attributes)
    • isSupported

      public boolean isSupported(String tagNameLowerCase)
      Returns whether the specified name is a valid SVG tag name.
      Parameters:
      tagNameLowerCase - the tag name in lower case
      Returns:
      whether the specified name is a valid SVG tag name or not