View Javadoc
1   package net.florianschoppmann.java.reflect;
2   
3   import javax.annotation.Nullable;
4   import javax.lang.model.type.PrimitiveType;
5   import javax.lang.model.type.TypeKind;
6   import javax.lang.model.type.TypeVisitor;
7   
8   final class PrimitiveTypeImpl extends AnnotatedConstructImpl implements ReflectionTypeMirror, PrimitiveType {
9       static final PrimitiveTypeImpl DOUBLE = new PrimitiveTypeImpl(TypeKind.DOUBLE);
10      static final PrimitiveTypeImpl FLOAT = new PrimitiveTypeImpl(TypeKind.FLOAT);
11      static final PrimitiveTypeImpl LONG = new PrimitiveTypeImpl(TypeKind.LONG);
12      static final PrimitiveTypeImpl INT = new PrimitiveTypeImpl(TypeKind.INT);
13      static final PrimitiveTypeImpl SHORT = new PrimitiveTypeImpl(TypeKind.SHORT);
14      static final PrimitiveTypeImpl BYTE = new PrimitiveTypeImpl(TypeKind.BYTE);
15      static final PrimitiveTypeImpl CHAR = new PrimitiveTypeImpl(TypeKind.CHAR);
16      static final PrimitiveTypeImpl BOOLEAN = new PrimitiveTypeImpl(TypeKind.BOOLEAN);
17  
18      private final TypeKind typeKind;
19  
20      PrimitiveTypeImpl(TypeKind typeKind) {
21          this.typeKind = typeKind;
22      }
23  
24      @Override
25      public String toString() {
26          return ReflectionTypes.getInstance().toString(this);
27      }
28  
29      @Override
30      public <R, P> R accept(TypeVisitor<R, P> visitor, @Nullable P parameter) {
31          return visitor.visitPrimitive(this, parameter);
32      }
33  
34      @Override
35      public TypeKind getKind() {
36          return typeKind;
37      }
38  }