View Javadoc
1   package net.florianschoppmann.java.reflect;
2   
3   import javax.annotation.Nullable;
4   import javax.lang.model.element.Name;
5   import java.util.Objects;
6   
7   final class NameImpl implements Name {
8       private final String name;
9   
10      NameImpl(String name) {
11          this.name = Objects.requireNonNull(name);
12      }
13  
14      @Override
15      public boolean equals(@Nullable Object otherObject) {
16          if (this == otherObject) {
17              return true;
18          } else if (otherObject == null || getClass() != otherObject.getClass()) {
19              return false;
20          }
21  
22          return name.equals(((NameImpl) otherObject).name);
23      }
24  
25      @Override
26      public int hashCode() {
27          return name.hashCode();
28      }
29  
30      @Override
31      public boolean contentEquals(CharSequence charSequence) {
32          return name.contentEquals(charSequence);
33      }
34  
35      @Override
36      public int length() {
37          return name.length();
38      }
39  
40      @Override
41      public char charAt(int index) {
42          return name.charAt(index);
43      }
44  
45      @Override
46      public CharSequence subSequence(int start, int end) {
47          return name.subSequence(start, end);
48      }
49  
50      @Override
51      public String toString() {
52          return name;
53      }
54  }