\r
import jp.sourceforge.ea2ddl.common.config.Config;\r
import jp.sourceforge.ea2ddl.dao.exentity.TAttribute;\r
+import jp.sourceforge.ea2ddl.dao.exentity.TAttributetag;\r
\r
/**\r
* @author taktos\r
private Integer _precision;\r
private Integer _scale;\r
private boolean nullable;\r
- private boolean ordered;\r
+ private boolean autoIncrement;\r
\r
public static ColumnModel create(TAttribute columnDef, Config dictionary) {\r
ColumnModel column = new ColumnModel();\r
column.setType(columnDef, dictionary);\r
column.setNullable(Integer.valueOf(0).equals(\r
columnDef.getAllowduplicates()));\r
- column.setOrdered(Integer.valueOf(1).equals(columnDef.getIsordered()));\r
+ column.setAutoIncrement(columnDef);\r
column.setNote(columnDef.getNotes());\r
return column;\r
}\r
setType(m.group(1));\r
if (m.group(3) != null) {\r
Integer len = Integer.valueOf(m.group(3));\r
- setScale(len);\r
+ setPrecision(len);\r
}\r
if (m.group(5) != null) {\r
- setPrecision(Integer.valueOf(m.group(5)));\r
+ setScale(Integer.valueOf(m.group(5)));\r
}\r
}\r
return;\r
}\r
setType(columnDef.getType());\r
if (columnDef.getLength() != null) {\r
- setScale(columnDef.getLength());\r
- } else if (columnDef.getScale() != null) {\r
- setScale(columnDef.getScale());\r
+ setPrecision(columnDef.getLength());\r
+ } else if (columnDef.getPrecision() != null) {\r
+ setPrecision(columnDef.getScale());\r
}\r
- setPrecision(columnDef.getPrecision());\r
+ setScale(columnDef.getScale());\r
}\r
\r
public boolean isNullable() {\r
this.nullable = nullable;\r
}\r
\r
- public boolean isOrdered() {\r
- return ordered;\r
+ public boolean isAutoIncrement() {\r
+ return autoIncrement;\r
}\r
\r
- public void setOrdered(boolean ordered) {\r
- this.ordered = ordered;\r
+ public void setAutoIncrement(boolean autoIncrement) {\r
+ this.autoIncrement = autoIncrement;\r
+ }\r
+\r
+ public void setAutoIncrement(TAttribute columnDef) {\r
+ TAttributetag tag = columnDef.getTags().get("AutoNum");\r
+ if (tag != null && "True".equals(tag.getValue())) {\r
+ this.autoIncrement = true;\r
+ } else {\r
+ this.autoIncrement = false;\r
+ }\r
}\r
\r
private String defaultValue;\r
public String getDefinition() {\r
StringBuilder b = new StringBuilder();\r
b.append(_type);\r
- if (_scale != null) {\r
- b.append("(").append(_scale);\r
- if (_precision != null) {\r
- b.append(",").append(_precision);\r
+ if (_precision != null) {\r
+ b.append("(").append(_precision);\r
+ if (_scale != null) {\r
+ b.append(",").append(_scale);\r
}\r
b.append(")");\r
}\r
if (!isNullable()) {\r
b.append(" NOT NULL");\r
}\r
- if (isOrdered()) {\r
+ if (isAutoIncrement()) {\r
b.append(" AUTO_INCREMENT");\r
}\r
return b.toString();\r