View Javadoc

    1   /*
    2    * Licensed to the Apache Software Foundation (ASF) under one
    3    * or more contributor license agreements. See the NOTICE file
    4    * distributed with this work for additional information
    5    * regarding copyright ownership. The ASF licenses this file
    6    * to you under the Apache License, Version 2.0 (the
    7    * "License"); you may not use this file except in compliance
    8    * with the License. You may obtain a copy of the License at
    9    *
    10   * http://www.apache.org/licenses/LICENSE-2.0
    11   *
    12   * Unless required by applicable law or agreed to in writing,
    13   * software distributed under the License is distributed on an
    14   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    15   * KIND, either express or implied. See the License for the
    16   * specific language governing permissions and limitations
    17   * under the License.
    18   */
    19  package org.apache.ws.commons.schema.utils;
    20
    21  import java.util.*;
    22
    23  public class NamespaceMap extends HashMap implements NamespacePrefixList {
    24
    25      /**
    26  	 *
    27  	 */
    28  	private static final long serialVersionUID = 1L;
    29
    30  	public NamespaceMap() {
    31      }
    32
    33      public NamespaceMap(Map map) {
    34          super(map);
    35      }
    36
    37      public void add(String prefix, String namespaceURI) {
    38          put(prefix, namespaceURI);
    39      }
    40
    41      public String[] getDeclaredPrefixes() {
    42          Set keys = keySet();
    43          return (String[]) keys.toArray(new String[keys.size()]);
    44      }
    45
    46      public String getNamespaceURI(String prefix) {
    47          return get(prefix).toString();
    48      }
    49
    50      public String getPrefix(String namespaceURI) {
    51          Iterator iterator = entrySet().iterator();
    52          while (iterator.hasNext()) {
    53              Map.Entry entry = (Map.Entry) iterator.next();
    54              if (entry.getValue().toString().equals(namespaceURI)) {
    55                  return (String) entry.getKey();
    56              }
    57          }
    58          return null;
    59      }
    60
    61      public Iterator getPrefixes(String namespaceURI) {
    62          ArrayList list = new ArrayList();
    63          Iterator iterator = entrySet().iterator();
    64          while (iterator.hasNext()) {
    65              Map.Entry entry = (Map.Entry) iterator.next();
    66              if (entry.getValue().toString().equals(namespaceURI)) {
    67                  list.add(entry.getKey());
    68              }
    69          }
    70          return list.iterator();
    71      }
    72  }