9
9
import java .time .LocalDateTime ;
10
10
import java .time .format .DateTimeFormatter ;
11
11
import java .util .Date ;
12
+ import java .util .HashSet ;
13
+ import java .util .Set ;
12
14
import org .apache .commons .lang3 .time .DateFormatUtils ;
13
15
14
16
import static cn .bigcoder .plugin .objecthelper .common .constant .JavaClassName .*;
17
+ import static cn .bigcoder .plugin .objecthelper .common .constant .JavaClassName .BASE_BYTE_TYPE ;
15
18
16
19
/**
17
20
* @author: Jindong.Tian
18
21
* @date: 2021-02-12
19
22
**/
20
23
public class PsiTypeUtils {
21
24
25
+ private static final Set <String > DATA_TYPES ;
26
+
27
+ static {
28
+ DATA_TYPES = new HashSet <>();
29
+ DATA_TYPES .add (STRING_TYPE );
30
+ DATA_TYPES .add (INTEGER_TYPE );
31
+ DATA_TYPES .add (BASE_INT_TYPE );
32
+ DATA_TYPES .add (LONG_TYPE );
33
+ DATA_TYPES .add (BASE_LONG_TYPE );
34
+ DATA_TYPES .add (SHORT_TYPE );
35
+ DATA_TYPES .add (BASE_SHORT_TYPE );
36
+ DATA_TYPES .add (BYTE_TYPE );
37
+ DATA_TYPES .add (BASE_BYTE_TYPE );
38
+ DATA_TYPES .add (DOUBLE_TYPE );
39
+ DATA_TYPES .add (BASE_DOUBLE_TYPE );
40
+ DATA_TYPES .add (FLOAT_TYPE );
41
+ DATA_TYPES .add (BASE_FLOAT_TYPE );
42
+ DATA_TYPES .add (DATE_TYPE );
43
+ DATA_TYPES .add (LOCAL_DATE_TYPE );
44
+ DATA_TYPES .add (LOCAL_DATE_TIME_TYPE );
45
+ DATA_TYPES .add (BIG_DECIMAL );
46
+ }
47
+
22
48
/**
23
49
* 获取数据类型的默认值
24
50
*
@@ -33,17 +59,23 @@ public static Object getDataTypeDefaultValue(String canonicalText) {
33
59
case STRING_TYPE :
34
60
return "" ;
35
61
case INTEGER_TYPE :
62
+ case BASE_INT_TYPE :
36
63
return 1 ;
37
64
case LONG_TYPE :
65
+ case BASE_LONG_TYPE :
38
66
return 1L ;
39
67
case SHORT_TYPE :
68
+ case BASE_SHORT_TYPE :
40
69
return (short ) 1 ;
41
70
case BYTE_TYPE :
71
+ case BASE_BYTE_TYPE :
42
72
return (byte ) 1 ;
43
73
case DOUBLE_TYPE :
44
- return 1.0 ;
74
+ case BASE_DOUBLE_TYPE :
75
+ return 1.1 ;
45
76
case FLOAT_TYPE :
46
- return 1.0f ;
77
+ case BASE_FLOAT_TYPE :
78
+ return 1.1f ;
47
79
case DATE_TYPE :
48
80
return DateFormatUtils .format (new Date (), "yyyy-MM-dd HH:mm:ss" );
49
81
case LOCAL_DATE_TYPE :
@@ -62,21 +94,7 @@ public static Object getDataTypeDefaultValue(String canonicalText) {
62
94
* @return
63
95
*/
64
96
public static boolean isDataType (PsiType psiType ) {
65
- String canonicalName = psiType .getCanonicalText ();
66
- if (STRING_TYPE .equals (canonicalName )
67
- || INTEGER_TYPE .equals (canonicalName )
68
- || LONG_TYPE .equals (canonicalName )
69
- || SHORT_TYPE .equals (canonicalName )
70
- || BYTE_TYPE .equals (canonicalName )
71
- || DOUBLE_TYPE .equals (canonicalName )
72
- || FLOAT_TYPE .equals (canonicalName )
73
- || DATE_TYPE .equals (canonicalName )
74
- || LOCAL_DATE_TYPE .equals (canonicalName )
75
- || LOCAL_DATE_TIME_TYPE .equals (canonicalName )
76
- || BIG_DECIMAL .equals (canonicalName )) {
77
- return true ;
78
- }
79
- return false ;
97
+ return DATA_TYPES .contains (psiType .getCanonicalText ());
80
98
}
81
99
82
100
/**
@@ -132,11 +150,12 @@ public static boolean isMapType(PsiType psiType) {
132
150
133
151
/**
134
152
* 判断一个类是否是指定类型子类
135
- * @param psiType psiType
153
+ *
154
+ * @param psiType psiType
136
155
* @param qualifiedName 全限定名称
137
156
* @return
138
157
*/
139
- public static boolean isSpecifiedType (PsiType psiType , String qualifiedName ){
158
+ public static boolean isSpecifiedType (PsiType psiType , String qualifiedName ) {
140
159
if (!(psiType instanceof PsiClassType )) {
141
160
return false ;
142
161
}
0 commit comments