org.apache.fop.fo

## Class ElementMappingRegistry

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

-     public class ElementMappingRegistry
      extends java.lang.Object

  This class keeps track of all configured ElementMapping implementations which are responsible for properly handling all kinds of different XML namespaces.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected java.util.Map<java.lang.String,java.util.Map<java.lang.String,ElementMapping.Maker>>` | `fobjTable` Table mapping element names to the makers of objects representing formatting objects.
    `protected java.util.Map<java.lang.String,ElementMapping>` | `namespaces` Map of mapped namespaces and their associated ElementMapping instances.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ElementMappingRegistry(FopFactory factory)` Main constructor.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addElementMapping(ElementMapping mapping)` Add the element mapping.
    `void` | `addElementMapping(java.lang.String mappingClassName)` Add the element mapping with the given class name.
    `ElementMapping.Maker` | `findFOMaker(java.lang.String namespaceURI, java.lang.String localName, org.xml.sax.Locator locator)` Finds the Maker used to create node objects of a particular type
    `org.w3c.dom.DOMImplementation` | `getDOMImplementationForNamespace(java.lang.String namespaceURI)` Tries to determine the DOMImplementation that is used to handled a particular namespace.
    `ElementMapping` | `getElementMapping(java.lang.String namespaceURI)` Returns an ElementMapping class for a namespace URI if there is one.
    `boolean` | `isKnownNamespace(java.lang.String namespaceURI)` Indicates whether a namespace is known to FOP.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### fobjTable

          protected java.util.Map<java.lang.String,java.util.Map<java.lang.String,ElementMapping.Maker>> fobjTable

      Table mapping element names to the makers of objects representing formatting objects.

    - #### namespaces

          protected java.util.Map<java.lang.String,ElementMapping> namespaces

      Map of mapped namespaces and their associated ElementMapping instances.

  - ### Constructor Detail

    - #### 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 Detail

    - #### addElementMapping

          public void addElementMapping(java.lang.String mappingClassName)
                                 throws java.lang.IllegalArgumentException

      Add the element mapping with the given class name.
      Parameters:
        `mappingClassName` - the class name representing the element mapping.
      Throws:
        `java.lang.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(java.lang.String namespaceURI,
                                                  java.lang.String localName,
                                                  org.xml.sax.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 org.w3c.dom.DOMImplementation getDOMImplementationForNamespace(java.lang.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(java.lang.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(java.lang.String namespaceURI)

      Indicates whether a namespace is known to FOP.
      Parameters:
        `namespaceURI` - the namespace URI
      Returns:
        true if the namespace is known.

Copyright 1999-2022 The Apache Software Foundation. All Rights Reserved.