Cześć.
Stworzyłem customową klasę try with resources poprzez implementację interfejsu Closeable.
Wykorzystuję ją do czytania plików CSV różnych rodzajów, zaleznie od pliku wykonuje inne operacje (walidację, tworzenie xml'a itp), pytanie co z zapisem do bazy i innymi ? robić to pod tym samym interfejsem co walidacja i tworzenie xml'a ? czy zwracać obiekt walidacji z errorami i zwracam xml w byte i obsługiwać to poza blokiem try with resources?
Przykład:
try(CSVReaderInterface reader : new CustomReaserClass(reader)) {
reader.deletePreviousUpload();
reader.validate().sendEmailWithErrors();
reader.generateXml();
reader.saveToDatabase();
...
}
czy coś w tym stylu
deletePreviousUpload();
try(CSVReaderInterface reader : new CustomReaserClass(reader)) {
Validator validator = reader.validate();
byte[] xml = reader.generateXml();
...
}
sentEmail(validator.getErrors(), to);
saveToDatabase(xml);
Ogólnie chodzi o to czy warto wszystko co chcemy zrobić na pliku obsługiwanym przez CustomReaserClass ma być pod jednym interejsem?