1 package com.fasterxml.classmate.types;
2
3 import java.util.*;
4
5 import com.fasterxml.classmate.ResolvedType;
6 import com.fasterxml.classmate.TypeBindings;
7
8
15 public final class ResolvedPrimitiveType extends ResolvedType
16 {
17 private final static ResolvedPrimitiveType VOID = new ResolvedPrimitiveType(Void.TYPE, 'V', "void");
18
19
23 protected final String _signature;
24
25
28 protected final String _description;
29
30
35
36 protected ResolvedPrimitiveType(Class<?> erased, char sig, String desc)
37 {
38 super(erased, TypeBindings.emptyBindings());
39 _signature = String.valueOf(sig);
40 _description = desc;
41 }
42
43 public static List<ResolvedPrimitiveType> all()
44 {
45 ArrayList<ResolvedPrimitiveType> all = new ArrayList<ResolvedPrimitiveType>();
46 all.add(new ResolvedPrimitiveType(Boolean.TYPE, 'Z', "boolean"));
47 all.add(new ResolvedPrimitiveType(Byte.TYPE, 'B', "byte"));
48 all.add(new ResolvedPrimitiveType(Short.TYPE, 'S', "short"));
49 all.add(new ResolvedPrimitiveType(Character.TYPE, 'C', "char"));
50 all.add(new ResolvedPrimitiveType(Integer.TYPE, 'I', "int"));
51 all.add(new ResolvedPrimitiveType(Long.TYPE, 'J', "long"));
52 all.add(new ResolvedPrimitiveType(Float.TYPE, 'F', "float"));
53 all.add(new ResolvedPrimitiveType(Double.TYPE, 'D', "double"));
54 return all;
55 }
56
57 public static ResolvedPrimitiveType voidType()
58 {
59 return VOID;
60 }
61
62 @Override
63 public boolean canCreateSubtypes() {
64 return false;
65 }
66
67
72
73 @Override
74 public ResolvedType getSelfReferencedType() { return null; }
75
76 @Override
77 public ResolvedType getParentClass() { return null; }
78
79
84
85 @Override
86 public boolean isInterface() { return false; }
87
88 @Override
89 public boolean isAbstract() { return false; }
90
91 @Override
92 public ResolvedType getArrayElementType() { return null; }
93
94 @Override
95 public boolean isArray() { return false; }
96
97 @Override
98 public boolean isPrimitive() { return true; }
99
100 @Override
101 public List<ResolvedType> getImplementedInterfaces() {
102 return Collections.emptyList();
103 }
104
105
110
111
112
113
118
119 @Override
120 public String getSignature() {
121 return _signature;
122 }
123
124 @Override
125 public String getErasedSignature() {
126 return _signature;
127 }
128
129 @Override
130 public String getFullDescription() {
131 return _description;
132 }
133
134 @Override
135 public StringBuilder appendSignature(StringBuilder sb) {
136 sb.append(_signature);
137 return sb;
138 }
139
140 @Override
141 public StringBuilder appendErasedSignature(StringBuilder sb) {
142 sb.append(_signature);
143 return sb;
144 }
145
146 @Override
147 public StringBuilder appendFullDescription(StringBuilder sb) {
148 sb.append(_description);
149 return sb;
150 }
151
152 @Override
153 public StringBuilder appendBriefDescription(StringBuilder sb) {
154 sb.append(_description);
155 return sb;
156 }
157 }
158