summaryrefslogtreecommitdiff
path: root/ooxml/source/framework/JavaOOXMLParser/src/org/apache/openoffice/ooxml/parser/NamespaceMap.java
diff options
context:
space:
mode:
authorArmin Le Grand <alg@apache.org>2014-07-14 19:09:11 +0000
committerArmin Le Grand <alg@apache.org>2014-07-14 19:09:11 +0000
commit3c1d4742e649fe9c8aed8c2817fe3e1f3364f298 (patch)
treee0c6e02c89aa9227726c9469da1001b3e29c41df /ooxml/source/framework/JavaOOXMLParser/src/org/apache/openoffice/ooxml/parser/NamespaceMap.java
parentc5c31e2aeaedbdf76e1f38d3c385e34f5ed875ca (diff)
Resync to trunk, windows non-pro buildaoo/aw080
Diffstat (limited to 'ooxml/source/framework/JavaOOXMLParser/src/org/apache/openoffice/ooxml/parser/NamespaceMap.java')
-rw-r--r--ooxml/source/framework/JavaOOXMLParser/src/org/apache/openoffice/ooxml/parser/NamespaceMap.java91
1 files changed, 91 insertions, 0 deletions
diff --git a/ooxml/source/framework/JavaOOXMLParser/src/org/apache/openoffice/ooxml/parser/NamespaceMap.java b/ooxml/source/framework/JavaOOXMLParser/src/org/apache/openoffice/ooxml/parser/NamespaceMap.java
new file mode 100644
index 000000000000..d5a2af818c53
--- /dev/null
+++ b/ooxml/source/framework/JavaOOXMLParser/src/org/apache/openoffice/ooxml/parser/NamespaceMap.java
@@ -0,0 +1,91 @@
+/**************************************************************
+*
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements. See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership. The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License"); you may not use this file except in compliance
+* with the License. You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing,
+* software distributed under the License is distributed on an
+* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+* KIND, either express or implied. See the License for the
+* specific language governing permissions and limitations
+* under the License.
+*
+*************************************************************/
+
+package org.apache.openoffice.ooxml.parser;
+
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Vector;
+
+public class NamespaceMap
+{
+ public class NamespaceDescriptor
+ {
+ NamespaceDescriptor (final String sPrefix, final int nId)
+ {
+ Prefix = sPrefix;
+ Id = nId;
+ }
+ public final String Prefix;
+ public final int Id;
+ }
+ NamespaceMap (final Vector<String[]> aData)
+ {
+ maUriToDescriptorMap = new HashMap<>();
+ maIdToDescriptorMap = new HashMap<>();
+
+ for (final String[] aLine : aData)
+ {
+ final int nId = Integer.parseInt(aLine[2]);
+ final NamespaceDescriptor aDescriptor = new NamespaceDescriptor(aLine[1], nId);
+ maUriToDescriptorMap.put(
+ aLine[3],
+ aDescriptor);
+ maIdToDescriptorMap.put(
+ nId,
+ aDescriptor);
+ }
+ }
+
+
+
+
+ public NamespaceDescriptor GetDescriptorForURI (final String sURI)
+ {
+ if (sURI == null)
+ throw new RuntimeException("namespace is null");
+ if ( ! maUriToDescriptorMap.containsKey(sURI))
+ throw new RuntimeException("namespace '"+sURI+"' is not known");
+ return maUriToDescriptorMap.get(sURI);
+ }
+
+
+
+
+ public NamespaceDescriptor GetDescriptorForId (final int nId)
+ {
+ return maIdToDescriptorMap.get(nId);
+ }
+
+
+
+
+ public int GetNamespaceCount ()
+ {
+ return maUriToDescriptorMap.size();
+ }
+
+
+
+
+ private final Map<String,NamespaceDescriptor> maUriToDescriptorMap;
+ private final Map<Integer,NamespaceDescriptor> maIdToDescriptorMap;
+}