/** * This method assumes use of UTF-8 for encoding. */ @Override public CsvGenerator createGenerator(OutputStream out) throws IOException { return createGenerator(out, JsonEncoding.UTF8); }
@Override protected CsvGenerator openForWriting(Path path) throws IOException { OutputStream out = Files.newOutputStream(path, CREATE, WRITE, APPEND); CsvGenerator generator = csvFactory.createGenerator(out); generator.setSchema(schema); return generator; }
@Override protected void startSerialize( RootNode rootNode, OutputStream outputStream ) throws Exception { csvGenerator = CSV_FACTORY.createGenerator( outputStream ); CsvSchema.Builder schemaBuilder = CsvSchema.builder() .setUseHeader( true ); // build schema for ( Node child : rootNode.getChildren() ) { if ( child.isCollection() ) { if ( !child.getChildren().isEmpty() ) { Node node = child.getChildren().get( 0 ); for ( Node property : node.getChildren() ) { if ( property.isSimple() ) { schemaBuilder.addColumn( property.getName() ); } } } } } csvGenerator.setSchema( schemaBuilder.build() ); }