1
2
3
4
5
6
7 package org.asyrinx.joey.gen.model.rdb;
8
9 import java.sql.Types;
10
11 import org.apache.commons.lang.enum.Enum;
12 import org.apache.commons.lang.enum.ValuedEnum;
13
14 /***
15 * @author akima
16 */
17 public class ColumnType extends ValuedEnum {
18
19 /***
20 * @param name
21 * @param value
22 */
23 public ColumnType(int value, String name) {
24 this(value, name, false);
25 }
26
27 /***
28 * @param name
29 * @param value
30 */
31 public ColumnType(int value, String name, boolean requiredSize) {
32 super(name, value);
33 this.requiredSize = requiredSize;
34 }
35
36 private final boolean requiredSize;
37
38 public int toJdbcType() {
39 return getValue();
40 }
41
42 public boolean isRequiredSize() {
43 return this.requiredSize;
44 }
45
46 public static ColumnType get(String name) {
47 return (ColumnType) Enum.getEnum(ColumnType.class, name);
48 }
49
50 public static ColumnType get(int value) {
51 return (ColumnType) ValuedEnum.getEnum(ColumnType.class, value);
52 }
53
54 public static ColumnType get(Number value) {
55 return get(value.intValue());
56 }
57
58 public static final ColumnType BIT = new ColumnType(Types.BIT, "BIT");
59
60 public static final ColumnType TINYINT = new ColumnType(Types.TINYINT, "TINYINT");
61
62 public static final ColumnType SMALLINT = new ColumnType(Types.SMALLINT, "SMALLINT");
63
64 public static final ColumnType INTEGER = new ColumnType(Types.INTEGER, "INTEGER");
65
66 public static final ColumnType BIGINT = new ColumnType(Types.BIGINT, "BIGINT");
67
68 public static final ColumnType FLOAT = new ColumnType(Types.FLOAT, "FLOAT");
69
70 public static final ColumnType REAL = new ColumnType(Types.REAL, "REAL");
71
72 public static final ColumnType DOUBLE = new ColumnType(Types.DOUBLE, "DOUBLE");
73
74 public static final ColumnType NUMERIC = new ColumnType(Types.NUMERIC, "NUMERIC");
75
76 public static final ColumnType DECIMAL = new ColumnType(Types.DECIMAL, "DECIMAL");
77
78 public static final ColumnType CHAR = new ColumnType(Types.CHAR, "CHAR", true);
79
80 public static final ColumnType VARCHAR = new ColumnType(Types.VARCHAR, "VARCHAR", true);
81
82 public static final ColumnType LONGVARCHAR = new ColumnType(Types.LONGVARCHAR, "LONGVARCHAR");
83
84 public static final ColumnType DATE = new ColumnType(Types.DATE, "DATE");
85
86 public static final ColumnType TIME = new ColumnType(Types.TIME, "TIME");
87
88 public static final ColumnType TIMESTAMP = new ColumnType(Types.TIMESTAMP, "TIMESTAMP");
89
90 public static final ColumnType BINARY = new ColumnType(Types.BINARY, "BINARY");
91
92 public static final ColumnType VARBINARY = new ColumnType(Types.VARBINARY, "VARBINARY");
93
94 public static final ColumnType LONGVARBINARY = new ColumnType(Types.LONGVARBINARY, "LONGVARBINARY");
95
96 public static final ColumnType NULL = new ColumnType(Types.NULL, "NULL");
97
98 public static final ColumnType JAVA_OBJECT = new ColumnType(Types.JAVA_OBJECT, "JAVA_OBJECT");
99
100 public static final ColumnType DISTINCT = new ColumnType(Types.DISTINCT, "DISTINCT");
101
102 public static final ColumnType STRUCT = new ColumnType(Types.STRUCT, "STRUCT");
103
104 public static final ColumnType ARRAY = new ColumnType(Types.ARRAY, "ARRAY");
105
106 public static final ColumnType BLOB = new ColumnType(Types.BLOB, "BLOB");
107
108 public static final ColumnType CLOB = new ColumnType(Types.CLOB, "CLOB");
109
110 public static final ColumnType REF = new ColumnType(Types.REF, "REF");
111
112 public static final ColumnType DATALINK = new ColumnType(Types.DATALINK, "DATALINK");
113
114 public static final ColumnType BOOLEAN = new ColumnType(Types.BOOLEAN, "BOOLEAN");
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146 }