aboutsummaryrefslogtreecommitdiffstats
path: root/src/org/apache/fop/extensions/ExtensionElementMapping.java
blob: c6c8ae40226cab9f35b42940afba819def63e445 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
/*
 * $Id$
 * Copyright (C) 2001 The Apache Software Foundation. All rights reserved.
 * For details on use and redistribution please refer to the
 * LICENSE file included with these sources.
 */

package org.apache.fop.extensions;

import org.apache.fop.fo.*;
import org.apache.fop.fo.properties.ExtensionPropertyMapping;
import org.apache.fop.fo.TreeBuilder;

import java.util.Enumeration;
import java.util.HashMap;
import java.util.Iterator;

public class ExtensionElementMapping implements ElementMapping {

    public static final String URI = "http://xml.apache.org/fop/extensions";

    private static HashMap foObjs = null;

    public synchronized void addToBuilder(TreeBuilder builder) {
        if(foObjs == null) {
            foObjs = new HashMap();    
            foObjs.put("outline", Outline.maker());
            foObjs.put("label", Label.maker());
        }
        builder.addMapping(URI, foObjs);


        builder.addPropertyList(ExtensionElementMapping.URI,
                                ExtensionPropertyMapping.getGenericMappings());
        /* Add any element mappings */
        for (Iterator iter = ExtensionPropertyMapping.getElementMappings().iterator();
                iter.hasNext(); ) {
            String elem = (String)iter.next();
            builder.addElementPropertyList(ExtensionElementMapping.URI, elem,
                                           ExtensionPropertyMapping.getElementMapping(elem));
        }
    }

}