package com.zendesk.maxwell.schema.columndef;
import com.google.code.or.common.util.MySQLConstants;
public class EnumColumnDef extends EnumeratedColumnDef {
public EnumColumnDef(String name, String type, int pos, String[] enumValues) {
super(name, type, pos, enumValues);
}
@Override
public boolean matchesMysqlType(int type) {
return type == MySQLConstants.TYPE_ENUM;
}
@Override
public String toSQL(Object value) {
return "'" + asString(value) + "'";
}
@Override
public String asJSON(Object value) {
return asString(value);
}
private String asString(Object value) {
if ( value instanceof String ) {
return ( String ) value;
}
Integer i = (Integer) value;
if ( i == 0 )
return null;
else
return enumValues[((Integer) value) - 1];
}
}