shikeying
2024-01-11 3b67e947e36133e2a40eb2737b15ea375e157ea0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
package com.walker.infrastructure.arguments;
 
import com.walker.infrastructure.utils.StringUtils;
 
/**
 * 可变参数类型定义,系统支持常用的几种格式,与<code>JAVA</code>系统类似。
 * @author shikeying
 *
 */
public enum VariableType {
 
    String{
        public String getTypeName(){
            return DEF_STRING;
        }
    },
    Integer{
        public String getTypeName(){
            return DEF_INTEGER;
        }
    },
    Long{
        public String getTypeName(){
            return DEF_LONG;
        }
    },
    Boolean{
        public String getTypeName(){
            return DEF_BOOLEAN;
        }
    },
    Float{
        public String getTypeName(){
            return DEF_FLOAT;
        }
    },
    Double{
        public String getTypeName(){
            return DEF_DOUBLE;
        }
    };
    
    public static final String DEF_STRING  = "string";
    public static final String DEF_INTEGER = "integer";
    public static final String DEF_LONG = "long";
    public static final String DEF_BOOLEAN = "boolean";
    public static final String DEF_FLOAT   = "float";
    public static final String DEF_DOUBLE   = "double";
 
    public String getTypeName(){
        throw new AbstractMethodError();
    }
    
    public static final VariableType getType(String defType){
        assert (StringUtils.isNotEmpty(defType));
        if(defType.equals(DEF_STRING)){
            return String;
        } else if(defType.equals(DEF_INTEGER)){
            return Integer;
        } else if(defType.equals(DEF_BOOLEAN)){
            return Boolean;
        } else if(defType.equals(DEF_FLOAT)){
            return Float;
        } else if(defType.equals(DEF_LONG)){
            return Long;
        }else if(defType.equals(DEF_DOUBLE)){
            return Double;
        } else
            throw new IllegalArgumentException("unknown VariableType: " + defType);
    }
}