aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeremias Maerki <jeremias@apache.org>2006-02-14 09:11:27 +0000
committerJeremias Maerki <jeremias@apache.org>2006-02-14 09:11:27 +0000
commit7c6c1e28af215a6b3710a274c7163e3d196bfd2c (patch)
tree49b9122b8b0fe32c474667e5885ef9d8ef23b024
parent5d7852dbfaab7b6a4af460edd093777f42bb81d8 (diff)
downloadxmlgraphics-fop-7c6c1e28af215a6b3710a274c7163e3d196bfd2c.tar.gz
xmlgraphics-fop-7c6c1e28af215a6b3710a274c7163e3d196bfd2c.zip
Hooking the ContentHandlerFactoryRegistry into the FopFactor.
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/branches/Temp_API_Finalization@377672 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--src/java/org/apache/fop/apps/FopFactory.java10
-rw-r--r--src/java/org/apache/fop/area/AreaTreeParser.java5
-rw-r--r--src/java/org/apache/fop/util/ContentHandlerFactoryRegistry.java12
3 files changed, 13 insertions, 14 deletions
diff --git a/src/java/org/apache/fop/apps/FopFactory.java b/src/java/org/apache/fop/apps/FopFactory.java
index 0196f4ece..1b1a9e3ff 100644
--- a/src/java/org/apache/fop/apps/FopFactory.java
+++ b/src/java/org/apache/fop/apps/FopFactory.java
@@ -34,6 +34,7 @@ import org.apache.fop.fo.ElementMappingRegistry;
import org.apache.fop.layoutmgr.LayoutManagerMaker;
import org.apache.fop.render.RendererFactory;
import org.apache.fop.render.XMLHandlerRegistry;
+import org.apache.fop.util.ContentHandlerFactoryRegistry;
import org.xml.sax.SAXException;
/**
@@ -61,6 +62,10 @@ public class FopFactory {
/** The registry for ElementMapping instances */
private ElementMappingRegistry elementMappingRegistry;
+
+ /** The registry for ContentHandlerFactory instance */
+ private ContentHandlerFactoryRegistry contentHandlerFactoryRegistry
+ = new ContentHandlerFactoryRegistry();
/** user configuration */
private Configuration userConfig = null;
@@ -180,6 +185,11 @@ public class FopFactory {
return this.elementMappingRegistry;
}
+ /** @return the content handler factory registry */
+ public ContentHandlerFactoryRegistry getContentHandlerFactoryRegistry() {
+ return this.contentHandlerFactoryRegistry;
+ }
+
/**
* Add the element mapping with the given class name.
* @param elementMapping the class name representing the element mapping.
diff --git a/src/java/org/apache/fop/area/AreaTreeParser.java b/src/java/org/apache/fop/area/AreaTreeParser.java
index 0f2cd0a43..e81896a3e 100644
--- a/src/java/org/apache/fop/area/AreaTreeParser.java
+++ b/src/java/org/apache/fop/area/AreaTreeParser.java
@@ -250,8 +250,9 @@ public class AreaTreeParser {
handled = false;
}
} else {
- ContentHandlerFactory factory
- = ContentHandlerFactoryRegistry.getInstance().getFactory(uri);
+ ContentHandlerFactoryRegistry registry
+ = userAgent.getFactory().getContentHandlerFactoryRegistry();
+ ContentHandlerFactory factory = registry.getFactory(uri);
if (factory != null) {
delegate = factory.createContentHandler();
delegateStack.push(qName);
diff --git a/src/java/org/apache/fop/util/ContentHandlerFactoryRegistry.java b/src/java/org/apache/fop/util/ContentHandlerFactoryRegistry.java
index 68e215b45..5fd68fd2b 100644
--- a/src/java/org/apache/fop/util/ContentHandlerFactoryRegistry.java
+++ b/src/java/org/apache/fop/util/ContentHandlerFactoryRegistry.java
@@ -36,22 +36,10 @@ public class ContentHandlerFactoryRegistry {
/** the logger */
private static Log log = LogFactory.getLog(ContentHandlerFactoryRegistry.class);
- private static ContentHandlerFactoryRegistry instance;
-
/** Map from namespace URIs to ContentHandlerFactories */
private Map factories = new java.util.HashMap();
/**
- * @return a singleton instance of the ContentHandlerFactoryRegistry.
- */
- public static ContentHandlerFactoryRegistry getInstance() {
- if (instance == null) {
- instance = new ContentHandlerFactoryRegistry();
- }
- return instance;
- }
-
- /**
* Default constructor.
*/
public ContentHandlerFactoryRegistry() {