Class ElementMappingRegistry

java.lang.Object
org.apache.fop.fo.ElementMappingRegistry

public class ElementMappingRegistry extends Object
This class keeps track of all configured ElementMapping implementations which are responsible for properly handling all kinds of different XML namespaces.
  • Field Details

    • LOG

      private static final org.apache.commons.logging.Log LOG
      logging instance
    • fobjTable

      protected Map<String,Map<String,ElementMapping.Maker>> fobjTable
      Table mapping element names to the makers of objects representing formatting objects.
    • namespaces

      protected Map<String,ElementMapping> namespaces
      Map of mapped namespaces and their associated ElementMapping instances.
  • Constructor Details

    • ElementMappingRegistry

      public ElementMappingRegistry(FopFactory factory)
      Main constructor. Adds all default element mapping as well as detects ElementMapping through the Service discovery.
      Parameters:
      factory - the Fop Factory
  • Method Details

    • setupDefaultMappings

      private void setupDefaultMappings()
      Sets all the element and property list mappings to their default values.
    • addElementMapping

      public void addElementMapping(String mappingClassName) throws IllegalArgumentException
      Add the element mapping with the given class name.
      Parameters:
      mappingClassName - the class name representing the element mapping.
      Throws:
      IllegalArgumentException - if there was not such element mapping.
    • addElementMapping

      public void addElementMapping(ElementMapping mapping)
      Add the element mapping.
      Parameters:
      mapping - the element mapping instance
    • findFOMaker

      public ElementMapping.Maker findFOMaker(String namespaceURI, String localName, Locator locator) throws FOPException
      Finds the Maker used to create node objects of a particular type
      Parameters:
      namespaceURI - URI for the namespace of the element
      localName - name of the Element
      locator - the Locator instance for context information
      Returns:
      the ElementMapping.Maker that can create an FO object for this element
      Throws:
      FOPException - if a Maker could not be found for a bound namespace.
    • getDOMImplementationForNamespace

      public DOMImplementation getDOMImplementationForNamespace(String namespaceURI)
      Tries to determine the DOMImplementation that is used to handled a particular namespace. The method may return null for namespaces that don't result in a DOM. It is mostly used in namespaces occurring in foreign objects.
      Parameters:
      namespaceURI - the namespace URI
      Returns:
      the handling DOMImplementation, or null if not applicable
    • getElementMapping

      public ElementMapping getElementMapping(String namespaceURI)
      Returns an ElementMapping class for a namespace URI if there is one.
      Parameters:
      namespaceURI - the namespace URI
      Returns:
      the requested ElementMapping or null, if no ElementMapping for the namespace is available.
    • isKnownNamespace

      public boolean isKnownNamespace(String namespaceURI)
      Indicates whether a namespace is known to FOP.
      Parameters:
      namespaceURI - the namespace URI
      Returns:
      true if the namespace is known.