-1
파일 내의 필드에서 목록을 처리하는 SuperCSV 용 사용자 정의 셀 프로세서를 만들려고합니다. 나는리스트를 수용하기 위해 빈 생성자를 변경했다. 이제 프로세서를 생성 할 필요가있다. 그리고 누군가가 이것을 경험했는지 궁금하다. 나는 설명서를 읽었습니다 ... 어떤 도움을 주셔서 감사합니다!목록 용 사용자 정의 셀 프로세서
콩 생성자 :
는public class CustomerBean {
private String name;
private List<String> manufacturer;
private String model;
private List<String> owner;
public CustomerBean() {
}
public CustomerBean(final String name, final List<String> manufacturer,
final String model, final List<String> owner,
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public List<String> getManufacturer() {
return manufacturer;
}
public void setManufacturer(List<String> manufacturer) {
this.manufacturer = manufacturer;
}
public String getModel() {
return model;
}
public void setModel(String model) {
this.model = model;
}
public List<String> getOwner() {
return owner;
}
public void setOwner(List<String> owner) {
this.owner = owner;
}
public String toString() {
return String
.format("[Name=%s, Manufacturer=%s, Model=%s, Owner=%s]",
getName(), getManufacturer(), getModel(), getOwner());
}
프로세서 : creating a custom cell processor 쇼에 대한 문서로
public class ParseHandler {
private static CellProcessor[] getProcessors() {
final CellProcessor[] processors = new CellProcessor[] {
new Optional(), //name
new Optional(), //manufacturer - needs to be processed as a list!
new Optional(), //model
new Optional(), //owner - needs to be processed as a list!
new Optional(), //integration team
new Optional(), //shipping
new Optional(), //hardware/software
new Optional(), //subsystem
new Optional(), //plane
new Optional(), //integration stand-alone
new Optional(), //integration interface
new Optional(), //function
new Optional(), //help links
new Optional(), //installation instructions
new Optional(), //test steps
new Optional(), //lead engineer
};
return processors;
}
public static CustomerBean readWithCsvBeanReader(Path path) throws IOException {
ICsvBeanReader beanReader = null;
CustomerBean customer = null;
System.out.println("Processing File: " + path);
try {
beanReader = new CsvBeanReader(new FileReader(path.toString()), CsvPreference.STANDARD_PREFERENCE);
//header elements are the same as the bean property names
final String[] header = {"name", "manufacturer", "model", "owner", "integrationTeam", "shipping", "hardwareSoftware", "subsystem", "plane", "integrationStandalone",
"integrationInterface", "function", "helpLinks", "installationInstructions", "testSteps", "leadEngineer"};
beanReader.getHeader(true);
final CellProcessor[] processors = getProcessors();
if ((customer = beanReader.read(CustomerBean.class, header, processors)) != null) {
System.out.println(String.format("%s", customer.toString()));
}
} finally {
if (beanReader != null) {
beanReader.close();
}
} return customer;
}
}
무엇이 당신의 질문입니다. 확실하게 그것은 "누구도이 경험을 가지고 있지 않습니다" – Kon