diff options
author | Armin Le Grand <alg@apache.org> | 2014-07-14 19:09:11 +0000 |
---|---|---|
committer | Armin Le Grand <alg@apache.org> | 2014-07-14 19:09:11 +0000 |
commit | 3c1d4742e649fe9c8aed8c2817fe3e1f3364f298 (patch) | |
tree | e0c6e02c89aa9227726c9469da1001b3e29c41df /ooxml/source/framework/JavaOOXMLParser/src/org/apache/openoffice/ooxml/parser/NamespaceMap.java | |
parent | c5c31e2aeaedbdf76e1f38d3c385e34f5ed875ca (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.java | 91 |
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; +} |