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

net.optionfactory.csv.parser.CsvParsingProblems Maven / Gradle / Ivy

The newest version!
package net.optionfactory.csv.parser;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import net.optionfactory.csv.parser.CsvParsingProblem.CsvParsingProblemType;

public class CsvParsingProblems {

    public static class Details {
        public Source source;
        public String image;
        public List> expected;
    }

    public static CsvParsingProblem noSchema(String sourceName) {
        final Details d = new Details();
        d.source = Source.of(0, 0, 0, 0);
        d.image = "";
        d.expected = new ArrayList<>();
        return CsvParsingProblem.of(CsvParsingProblemType.MISSING_SCHEMA, sourceName, "missing schema", d);
    }

    public static CsvParsingProblem unparseableSchema(String sourceName, Source source, String image, List> expected) {
        final Details d = new Details();
        d.source = source;
        d.image = image;
        d.expected = expected;
        return CsvParsingProblem.of(CsvParsingProblemType.UNPARSEABLE_SCHEMA, sourceName, "Unparseable schema", d);
    }

    public static CsvParsingProblem unparseableRecord(String sourceName, Source source, String image, List> expected) {
        final Details d = new Details();
        d.source = source;
        d.image = image;
        d.expected = expected;
        return CsvParsingProblem.of(CsvParsingProblemType.UNPARSEABLE_RECORD, sourceName, "Unparseable record", d);
    }

    public static CsvParsingProblem schemaViolation(String sourceName, Source source, String image, List schema) {
        final Details d = new Details();
        d.source = source;
        d.image = image;
        d.expected = Arrays.asList(schema);
        return CsvParsingProblem.of(CsvParsingProblemType.SCHEMA_VIOLATION, sourceName, "Schema violation", d);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy