fop 0.93

org.apache.fop.fo
Class ElementMappingRegistry

java.lang.Object
  extended byorg.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
protected  java.util.Map fobjTable
          Table mapping element names to the makers of objects representing formatting objects.
protected  org.apache.commons.logging.Log log
          logging instance
protected  java.util.Map namespaces
          Map of mapped namespaces and their associated ElementMapping instances.
 
Constructor Summary
ElementMappingRegistry(FopFactory factory)
          Main constructor.
 
Method Summary
 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

log

protected org.apache.commons.logging.Log log
logging instance


fobjTable

protected java.util.Map fobjTable
Table mapping element names to the makers of objects representing formatting objects.


namespaces

protected java.util.Map 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.

fop 0.93

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