Example usage for com.fasterxml.jackson.dataformat.csv CsvSchema rebuild

List of usage examples for com.fasterxml.jackson.dataformat.csv CsvSchema rebuild

Introduction

In this page you can find the example usage for com.fasterxml.jackson.dataformat.csv CsvSchema rebuild.

Prototype

public Builder rebuild() 

Source Link

Document

Helper method for constructing Builder that can be used to create modified schema.

Usage

From source file:io.github.binout.jaxrs.csv.CsvSchemaFactory.java

static CsvSchema buildSchema(CsvMapper mapper, Class csvClass) {
    CsvAnnotationIntrospector introspector = new CsvAnnotationIntrospector(csvClass);
    char separatorChar = introspector.separator();
    Optional<String[]> columns = introspector.columns();

    CsvSchema csvSchema = mapper.schemaFor(csvClass).withColumnSeparator(separatorChar)
            .withSkipFirstDataRow(introspector.skipFirstDataRow());
    if (columns.isPresent()) {
        // Rebuild columns to take account of order
        CsvSchema.Builder builder = csvSchema.rebuild().clearColumns();
        for (String column : columns.get()) {
            CsvSchema.Column oldColumn = csvSchema.column(column);
            builder.addColumn(column, oldColumn.getType());
        }//www . ja v  a2 s  .c  o m
        csvSchema = builder.build();
    }

    return csvSchema;
}