-
Notifications
You must be signed in to change notification settings - Fork 0
/
Identifier.java
64 lines (53 loc) · 1.25 KB
/
Identifier.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
import java.util.*;
public class Identifier implements IdentInterface, Comparable<Identifier>{
private StringBuffer element;
public Identifier(char c) {
this.element = new StringBuffer(c+"");
}
public Identifier(StringBuffer element) {
this.element = new StringBuffer(element);
}
public Identifier(Identifier ide) {
this.element = new StringBuffer(ide.element);
}
@Override
public IdentInterface init(char c) {
this.element = new StringBuffer(c+"");
return this;
}
@Override
public IdentInterface setValue(StringBuffer element) {
this.element = new StringBuffer(element);
return this;
}
@Override
public IdentInterface append(char c) {
this.element.append(c);
return this;
}
@Override
public boolean equals(Object obj) {
if (obj == null) {
return false;
}
if (obj == this) {
return true;
}
if (obj.getClass() != this.getClass()) {
return false;
}
Identifier i = (Identifier)obj;
return i.element.toString().equals(this.element.toString());
}
public int compareTo(Identifier rhs) {
return (this.element.toString().compareTo(rhs.element.toString()));
}
@Override
public int hashCode() {
return this.toString().hashCode();
}
@Override
public String toString() {
return element.toString();
}
}