1 package net.entropysoft.transmorph.signature;
2
3 public abstract class TypeSignature {
4
5 public boolean isPrimitiveType() {
6 return false;
7 }
8
9 public boolean isArrayType() {
10 return false;
11 }
12
13 public boolean isClassType() {
14 return false;
15 }
16
17 public boolean isTypeVar() {
18 return false;
19 }
20
21 public boolean isTypeArgument() {
22 return false;
23 }
24
25 public abstract FullTypeSignature getTypeErasureSignature();
26
27
28
29
30
31
32 public abstract String getSignature();
33
34 @Override
35 public int hashCode() {
36 final int prime = 31;
37 int result = 1;
38 result = prime * result + getSignature().hashCode();
39 return result;
40 }
41
42 @Override
43 public boolean equals(Object obj) {
44 if (this == obj)
45 return true;
46 if (obj == null)
47 return false;
48 if (getClass() != obj.getClass())
49 return false;
50 TypeSignature other = (TypeSignature) obj;
51 if (!getSignature().equals(other.getSignature()))
52 return false;
53 return true;
54 }
55
56 }