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 }