@Override public void writeNotNull(PageBuilder pageBuilder) { pageBuilder.writeBoolean(column.getIndex(), value); } }
@Override public void writeNotNull(PageBuilder pageBuilder) { pageBuilder.writeJson(column.getIndex(), value); } }
@Override public void visit(Column column, Object object) { values[column.getIndex()] = object; } });
@Override public void writeNotNull(PageBuilder pageBuilder) { pageBuilder.writeTimestamp(column.getIndex(), value); } }
public void write(PageBuilder pageBuilder) { if (!isNull) { writeNotNull(pageBuilder); } else { pageBuilder.writeNull(column.getIndex()); } }
public void setLong(Column column, long value) { // TODO check type? setLong(column.getIndex(), value); }
public double getDouble(Column column) { // TODO check type? return getDouble(column.getIndex()); }
public void doubleColumn(Column column) { final JsonNode value = rowValues.get(column.getIndex()); if (value == null || value.isNull()) { pageBuilder.setNull(column); } else { pageBuilder.setDouble(column, value.asDouble()); } }
public String printRecord(PageReader reader, String delimiter) { StringBuilder sb = new StringBuilder(); for (Column c : schema.getColumns()) { if (c.getIndex() != 0) { sb.append(delimiter); } sb.append(printColumn(reader, c)); } return sb.toString(); }
public void booleanColumn(Column column) { final JsonNode value = rowValues.get(column.getIndex()); if (value == null || value.isNull()) { pageBuilder.setNull(column); } else { pageBuilder.setBoolean(column, value.asBoolean()); } }
public void longColumn(Column column) { final JsonNode value = rowValues.get(column.getIndex()); if (value == null || value.isNull()) { pageBuilder.setNull(column); } else { pageBuilder.setLong(column, value.asLong()); } }
public void stringColumn(Column column) { final JsonNode value = rowValues.get(column.getIndex()); if (value == null || value.isNull()) { pageBuilder.setNull(column); } else { pageBuilder.setString(column, value.asText()); } }
private Map<String, Integer> newColumnIndex(Schema schema) { ImmutableMap.Builder<String, Integer> builder = ImmutableMap.builder(); for (Column column : schema.getColumns()) { builder.put(column.getName(), column.getIndex()); } return builder.build(); }
public List<String> printRecord(PageReader reader) { for (Column c : schema.getColumns()) { record.set(c.getIndex(), printColumn(reader, c)); } return record; }
@Override public void booleanColumn(Column inputColumn) { int index = indexMapping[inputColumn.getIndex()]; if (index >= 0) { if (pageReader.isNull(inputColumn)) { pageBuilder.setNull(index); } else { pageBuilder.setBoolean(index, pageReader.getBoolean(inputColumn)); } } }
@Override public void longColumn(Column inputColumn) { int index = indexMapping[inputColumn.getIndex()]; if (index >= 0) { if (pageReader.isNull(inputColumn)) { pageBuilder.setNull(index); } else { pageBuilder.setLong(index, pageReader.getLong(inputColumn)); } } }
@Override public void timestampColumn(Column inputColumn) { int index = indexMapping[inputColumn.getIndex()]; if (index >= 0) { if (pageReader.isNull(inputColumn)) { pageBuilder.setNull(index); } else { pageBuilder.setTimestamp(index, pageReader.getTimestamp(inputColumn)); } } }
@Override public void doubleColumn(Column inputColumn) { int index = indexMapping[inputColumn.getIndex()]; if (index >= 0) { if (pageReader.isNull(inputColumn)) { pageBuilder.setNull(index); } else { pageBuilder.setDouble(index, pageReader.getDouble(inputColumn)); } } }
@Override public void jsonColumn(Column inputColumn) { int index = indexMapping[inputColumn.getIndex()]; if (index >= 0) { if (pageReader.isNull(inputColumn)) { pageBuilder.setNull(index); } else { pageBuilder.setJson(index, pageReader.getJson(inputColumn)); } } } });
private void writeHeader(Schema schema, LineEncoder encoder, char delimiter, QuotePolicy policy, char quote, char escape, String newline, String nullString) { String delimiterString = String.valueOf(delimiter); for (Column column : schema.getColumns()) { if (column.getIndex() != 0) { encoder.addText(delimiterString); } encoder.addText(setEscapeAndQuoteValue(column.getName(), delimiter, policy, quote, escape, newline, nullString)); } encoder.addNewLine(); }