package squill.mgen; import java.sql.Types; public class DbColumn { private String name; private Integer sqlType; private Integer size; private Integer scale; // number of decimal digits private boolean required; private boolean primary; private String defaultValue; private DbTable table; public void setPrimary(boolean primary) { this.primary = primary; } public boolean isPrimary() { return primary; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getSqlType() { return sqlType; } public void setSqlType(Integer sqlType) { this.sqlType = sqlType; } public Integer getSize() { return size; } public void setSize(Integer size) { this.size = size; } public boolean hasSize() { return sqlType == Types.CHAR || sqlType == Types.VARCHAR || sqlType == Types.LONGVARCHAR || sqlType == Types.NUMERIC || sqlType == Types.DECIMAL; } public Integer getScale() { return scale; } public void setScale(Integer decimalDigits) { this.scale = decimalDigits; } public boolean hasScale() { return scale > 0 && (sqlType == Types.DECIMAL || sqlType == Types.NUMERIC); } public String getDefaultValue() { return defaultValue; } public void setDefaultValue(String defValue) { this.defaultValue = defValue; } public DbColumn(DbTable table, String name) { this.setTable(table); this.name = name; } public boolean isRequired() { return required; } public void setRequired(boolean required) { this.required = required; } public void setNullType(Integer nullType) { this.required = (nullType == 0); // other values mean no or unknown } public void setTable(DbTable table) { this.table = table; } public DbTable getTable() { return table; } public String getLowerCaseName() { return getName().toLowerCase(); } }