All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.rahulsom.jansitable.TableBuilder Maven / Gradle / Ivy

The newest version!
/*
 * This Java source file was generated by the Gradle 'init' task.
 */
package com.github.rahulsom.jansitable;

import java.io.OutputStream;
import java.io.PrintStream;
import java.util.ArrayList;
import java.util.List;

public class TableBuilder {
    private List columns = new ArrayList<>();
    private int padding = 1;
    private OutputStream out = System.out;
    private boolean fancy = true;

    public TableBuilder addColumn(Column column) {
        columns.add(column);
        return this;
    }

    public TableBuilder addColumn(int width, Column.Alignment alignment) {
        return addColumn(new Column(width, alignment));
    }

    public TableBuilder addColumn(int width) {
        return addColumn(new Column(width));
    }

    public TableBuilder padding(int padding) {
        this.padding = padding;
        return this;
    }

    public TableBuilder writeTo(OutputStream out) {
        this.out = out;
        return this;
    }

    public TableBuilder fancy() {
    	this.fancy = true;
    	return this;
	}

    public TableBuilder basic() {
    	this.fancy = false;
    	return this;
	}

    public Table build() {
        return new Table(columns, padding, new PrintStream(out), this.fancy);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy