Package org.apache.fop.fo
Class ElementMappingRegistry
- java.lang.Object
-
- org.apache.fop.fo.ElementMappingRegistry
-
public class ElementMappingRegistry extends java.lang.ObjectThis 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 Description protected java.util.Map<java.lang.String,java.util.Map<java.lang.String,ElementMapping.Maker>>fobjTableTable mapping element names to the makers of objects representing formatting objects.protected java.util.Map<java.lang.String,ElementMapping>namespacesMap of mapped namespaces and their associated ElementMapping instances.
-
Constructor Summary
Constructors Constructor Description ElementMappingRegistry(FopFactory factory)Main constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddElementMapping(java.lang.String mappingClassName)Add the element mapping with the given class name.voidaddElementMapping(ElementMapping mapping)Add the element mapping.ElementMapping.MakerfindFOMaker(java.lang.String namespaceURI, java.lang.String localName, org.xml.sax.Locator locator)Finds the Maker used to create node objects of a particular typeorg.w3c.dom.DOMImplementationgetDOMImplementationForNamespace(java.lang.String namespaceURI)Tries to determine the DOMImplementation that is used to handled a particular namespace.ElementMappinggetElementMapping(java.lang.String namespaceURI)Returns an ElementMapping class for a namespace URI if there is one.booleanisKnownNamespace(java.lang.String namespaceURI)Indicates whether a namespace is known to FOP.
-
-
-
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.IllegalArgumentExceptionAdd 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 elementlocalName- name of the Elementlocator- 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.
-
-