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