1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package net.entropysoft.transmorph.signature;
17
18
19
20
21
22
23
24
25
26
27 public class PrimitiveTypeSignature extends FullTypeSignature {
28
29 public static final char PRIMITIVE_BOOLEAN = 'Z';
30 public static final char PRIMITIVE_BYTE = 'B';
31 public static final char PRIMITIVE_CHAR = 'C';
32 public static final char PRIMITIVE_DOUBLE = 'D';
33 public static final char PRIMITIVE_FLOAT = 'F';
34 public static final char PRIMITIVE_INT = 'I';
35 public static final char PRIMITIVE_LONG = 'J';
36 public static final char PRIMITIVE_SHORT = 'S';
37
38 private final char primitiveChar;
39
40 public PrimitiveTypeSignature(char primitiveChar) {
41 this.primitiveChar = primitiveChar;
42 }
43
44
45
46
47
48
49 public char getPrimitiveTypeChar() {
50 return primitiveChar;
51 }
52
53 @Override
54 public String toString() {
55 return getSignature();
56 }
57
58 public boolean isPrimitiveType() {
59 return true;
60 }
61
62 public boolean isBoolean() {
63 return primitiveChar == PRIMITIVE_BOOLEAN;
64 }
65
66 public boolean isByte() {
67 return primitiveChar == PRIMITIVE_BYTE;
68 }
69
70 public boolean isChar() {
71 return primitiveChar == PRIMITIVE_CHAR;
72 }
73
74 public boolean isDouble() {
75 return primitiveChar == PRIMITIVE_DOUBLE;
76 }
77
78 public boolean isFloat() {
79 return primitiveChar == PRIMITIVE_FLOAT;
80 }
81
82 public boolean isInt() {
83 return primitiveChar == PRIMITIVE_INT;
84 }
85
86 public boolean isLong() {
87 return primitiveChar == PRIMITIVE_LONG;
88 }
89
90 public boolean isShort() {
91 return primitiveChar == PRIMITIVE_SHORT;
92 }
93
94 public boolean isNumber() {
95 return primitiveChar == PRIMITIVE_DOUBLE
96 || primitiveChar == PRIMITIVE_FLOAT
97 || primitiveChar == PRIMITIVE_INT
98 || primitiveChar == PRIMITIVE_LONG
99 || primitiveChar == PRIMITIVE_SHORT
100 || primitiveChar == PRIMITIVE_BYTE;
101 }
102
103 @Override
104 public FullTypeSignature getTypeErasureSignature() {
105 return this;
106 }
107
108 }