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

org.simpleflatmapper.csv.parser.TrimCellPreProcessor Maven / Gradle / Ivy

package org.simpleflatmapper.csv.parser;


public final class TrimCellPreProcessor extends CellPreProcessor {

    private final CellPreProcessor delegate;

    public TrimCellPreProcessor(CellPreProcessor cellPreProcessor) {
        this.delegate = cellPreProcessor;
    }

    public final void newCell(char[] chars, int start, int end, CellConsumer cellConsumer, int state) {
        int strStart = start;
        int strEnd = end;

        strEnd = strEnd(strStart, strEnd, chars);
        strStart = strStart(strStart, strEnd, chars);

        delegate.newCell(chars, strStart, strEnd, cellConsumer, state);
    }

    private int strEnd(int start, int end, char[] chars) {
        for(; start < end && chars[end - 1] == ' '; end--)
            ;
        return end;
    }

    private int strStart(int start, int end, char[] chars) {
        for(;start < end && chars[start] == ' '; start++)
            ;
        return start;
    }

    @Override
    public boolean ignoreLeadingSpace() {
        return true;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy