001 /*
002 * The contents of this file are subject to the Mozilla Public License
003 * Version 1.1 (the "License"); you may not use this file except in
004 * compliance with the License. You may obtain a copy of the License at
005 * http://www.mozilla.org/MPL/
006 *
007 * Software distributed under the License is distributed on an "AS IS" basis,
008 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
009 * the specific language governing rights and limitations under the License.
010 *
011 * The Original Code is Protege-2000.
012 *
013 * The Initial Developer of the Original Code is Stanford University. Portions
014 * created by Stanford University are Copyright (C) 2007. All Rights Reserved.
015 *
016 * Protege was developed by Stanford Medical Informatics
017 * (http://www.smi.stanford.edu) at the Stanford University School of Medicine
018 * with support from the National Library of Medicine, the National Science
019 * Foundation, and the Defense Advanced Research Projects Agency. Current
020 * information about Protege can be obtained at http://protege.stanford.edu.
021 *
022 */
023
024 package edu.stanford.smi.protegex.owl.model;
025
026 import java.net.URI;
027 import java.util.Collection;
028
029 /**
030 * An interface for objects capable of mapping true URI namespaces into their
031 * prefixed (e.g., "owl") and vice-versa.
032 *
033 * @author Holger Knublauch <holger@knublauch.com>
034 */
035 public interface NamespaceMap {
036
037
038 String getDefaultNamespace();
039
040
041 String getNamespaceForPrefix(String prefix);
042
043
044 String getPrefix(String namespace);
045
046
047 Collection<String> getPrefixes();
048
049
050 void removePrefix(String prefix);
051
052
053 void setDefaultNamespace(String value);
054
055
056 void setDefaultNamespace(URI uri);
057
058
059 void setPrefix(String namespace, String prefix);
060
061
062 void setPrefix(URI namespace, String prefix);
063 }
064