package com.zendesk.maxwell.schema; import com.google.code.or.common.glossary.Column; import com.google.code.or.common.glossary.column.DatetimeColumn; import com.google.code.or.common.glossary.column.AbstractDatetimeColumn; import com.zendesk.maxwell.schema.columndef.ColumnDef; public class ColumnWithDefinition { public Column column; public ColumnDef definition; public ColumnWithDefinition(Column column, ColumnDef definition) { this.column = column; this.definition = definition; } private Object valueForJSON() { if (column instanceof AbstractDatetimeColumn) { return ((AbstractDatetimeColumn) column).getTimestampValue(); } return column.getValue(); } public Object asJSON() { Object value = valueForJSON(); if ( value == null ) return null; return definition.asJSON(value); } }