View Javadoc

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  	 * get the signature using the "Internal Form of Fully Qualified Name"
29  	 * 
30  	 * @return
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  }