001 package com.thaiopensource.relaxng.impl;
002
003 import com.thaiopensource.xml.util.Name;
004
005 class NsNameClass implements NameClass {
006
007 private final String namespaceUri;
008
009 NsNameClass(String namespaceUri) {
010 this.namespaceUri = namespaceUri;
011 }
012
013 public boolean contains(Name name) {
014 return this.namespaceUri.equals(name.getNamespaceUri());
015 }
016
017 public int containsSpecificity(Name name) {
018 return contains(name) ? SPECIFICITY_NS_NAME : SPECIFICITY_NONE;
019 }
020
021 public int hashCode() {
022 return namespaceUri.hashCode();
023 }
024
025 public boolean equals(Object obj) {
026 if (obj == null || !(obj instanceof NsNameClass))
027 return false;
028 return namespaceUri.equals(((NsNameClass)obj).namespaceUri);
029 }
030
031 public void accept(NameClassVisitor visitor) {
032 visitor.visitNsName(namespaceUri);
033 }
034
035 public boolean isOpen() {
036 return true;
037 }
038 }