public static BaseSerializer routeMe(Column colToRoute) { BaseSerializer serializer = null; switch (colToRoute.colType) { case COLUMN_TYPES.INT: case COLUMN_TYPES.TINYINT: case COLUMN_TYPES.AUTOINCREMENT: serializer = new IntSerializer(colToRoute); break; case COLUMN_TYPES.CHAR: serializer = new CharSerializer(colToRoute); break; // For now, I'm going to cheese out and treat these both // as decimal. As Skeet says [1], they're both *floating point* // representations, even if we don't normally think of FLOATS // the same as we do decimals. // [1] http://tinyurl.com/mzu6t4j // TODO: Create a real float type for huge numbers. case COLUMN_TYPES.FLOAT: case COLUMN_TYPES.DECIMAL: serializer = new DecimalSerializer(colToRoute); break; // TODO: Create a real BIT column type with serializer. case COLUMN_TYPES.BIT: serializer = new IntSerializer(colToRoute); break; case COLUMN_TYPES.DATETIME: serializer = new DateSerializer(colToRoute); break; default: throw new Exception("Illegal/Unimplemented column type: " + colToRoute.colType); } return(serializer); }
public static BaseSerializer routeMe(Column colToRoute) { BaseSerializer serializer = null; switch (colToRoute.colType) { case COLUMN_TYPES.INT: case COLUMN_TYPES.TINYINT: case COLUMN_TYPES.AUTOINCREMENT: serializer = new IntSerializer(colToRoute); break; case COLUMN_TYPES.CHAR: serializer = new CharSerializer(colToRoute); break; // For now, I'm going to cheese out and treat these both // as decimal. As Skeet says [1], they're both *floating point* // representations, even if we don't normally think of FLOATS // the same as we do decimals. // [1] http://tinyurl.com/mzu6t4j // TODO: Create a real float type for huge numbers. case COLUMN_TYPES.FLOAT: case COLUMN_TYPES.DECIMAL: serializer = new DecimalSerializer(colToRoute); break; // TODO: Create a real BIT column type with serializer. case COLUMN_TYPES.BIT: serializer = new IntSerializer(colToRoute); break; case COLUMN_TYPES.DATETIME: serializer = new DateSerializer(colToRoute); break; default: throw new Exception("Illegal/Unimplemented column type: " + colToRoute.colType); } return serializer; }