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

com.qiniu.convert.ObjectToString Maven / Gradle / Ivy

There is a newer version: 8.4.8
Show newest version
package com.qiniu.convert;

import com.qiniu.interfaces.IStringFormat;
import com.qiniu.interfaces.ITypeConvert;

import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;

public abstract class ObjectToString implements ITypeConvert {

    protected IStringFormat stringFormatter;
    protected List errorList = new ArrayList<>();

    public String convertToV(E line) throws IOException {
        return stringFormatter.toFormatString(line);
    }

    public List convertToVList(List lineList) {
        if (lineList == null || lineList.size() == 0) return new ArrayList<>();
        return lineList.stream()
                .map(line -> {
                    try {
                        return stringFormatter.toFormatString(line);
                    } catch (IOException e) {
                        errorList.add(String.valueOf(line) + "\t" + e.getMessage());
                        return null;
                    }
                })
                .filter(Objects::nonNull)
                .collect(Collectors.toList());
    }

    public List getErrorList() {
        return errorList;
    }

    public List consumeErrorList() {
        List errors = new ArrayList<>();
        Collections.addAll(errors, new String[errorList.size()]);
        Collections.copy(errors, errorList);
        errorList.clear();
        return errors;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy