package liquibase.database.structure.type; import liquibase.statement.DatabaseFunction; import liquibase.database.Database; public class DateType extends DataType { public DateType() { super("DATE",0,0); } public DateType(String dataTypeName) { super(dataTypeName,0,0); } @Override public String convertObjectToString(Object value, Database database) { if (value == null) { return null; } else if (value.toString().equalsIgnoreCase("null")) { return "null"; } else if (value instanceof DatabaseFunction) { return ((DatabaseFunction) value).getValue(); } else if (value.toString().equals("CURRENT_TIMESTAMP()")) { return database.getCurrentDateTimeFunction(); } else if (value instanceof java.sql.Timestamp) { return database.getDateLiteral(((java.sql.Timestamp) value)); } else if (value instanceof java.sql.Date) { return database.getDateLiteral(((java.sql.Date) value)); } else if (value instanceof java.sql.Time) { return database.getDateLiteral(((java.sql.Time) value)); } else if (value instanceof java.util.Date) { return database.getDateLiteral(((java.util.Date) value)); } else { return "'"+((String) value).replaceAll("'","''")+"'"; } } }