package liquibase.database.typeconversion; import liquibase.database.Database; import liquibase.database.structure.Column; import liquibase.database.structure.type.*; import liquibase.change.ColumnConfig; import liquibase.servicelocator.PrioritizedService; import java.text.ParseException; public interface TypeConverter extends PrioritizedService { int getPriority(); boolean supports(Database database); Object convertDatabaseValueToObject(Object defaultValue, int dataType, int firstParameter, int secondParameter, Database database) throws ParseException; String convertToDatabaseTypeString(Column referenceColumn, Database database); DataType getDataType(Object object); DataType getDataType(String columnTypeString, Boolean autoIncrement); DataType getDataType(ColumnConfig columnConfig); CharType getCharType(); VarcharType getVarcharType(); BooleanType getBooleanType(); CurrencyType getCurrencyType(); UUIDType getUUIDType(); TextType getTextType(); ClobType getClobType(); BlobType getBlobType(); BlobType getLongBlobType(); DateType getDateType(); FloatType getFloatType(); DoubleType getDoubleType(); IntType getIntType(); TinyIntType getTinyIntType(); DateTimeType getDateTimeType(); TimeType getTimeType(); BigIntType getBigIntType(); }