-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathStuff.java
45 lines (43 loc) · 1.03 KB
/
Stuff.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
public abstract class Stuff
{
String id;
String name;
public Stuff(String id, String name)
{
this.id = id;
this.name = name;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((id == null) ? 0 : id.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (!(obj instanceof this.getClass()))
return false;
Stuff other = (Stuff) obj;
if (id == null) {
if (other.id != null)
return false;
} else if (!id.equals(other.id))
return false;
return true;
}
@Override
public String toString() {
return name;
}
}
/**
All children of things must have an ID within the system and the title to present to the client,
thus we can override the function of object in the parent class of all the subclasses.
This allows us to avoid repition while implementing the toString and hashCode... functions
that we desire for all the things.
*\