Le 30/11/2011 16:33, desbois a écrit :
- Obligatoire (la colonne doit être présente et elle sera traitée)
mandatory = true, ignored = false
- Optionnelle (la colonne peut être présente et elle sera traitée)
mandatory = false, ignored = false
- Ignorée (la colonne peut être présente et elle ne sera pas traitée)
mandatory = false, ignored = true
Exact.
A voir dans Column si c'est pas une erreur d'avoir mandatory = !ignored du coup.
Ça l'est. En fait c'est l'API du builder qui est incomplète. Il faudrait que le builder permette d'expliciter clairement dans lequel de ces trois cas tu te trouves et te forces à fournir le nécessaire (cf ce que fait le #newIgnoredColumn par exemple). Faut que le builder permette d'exprimer obligatoire oui/non, ignoré oui/non, le parser/formatter et le getter/setter si pas ignoré. Y'a des contraites, c'est pas évident à faire.
Pour le close, ya quand meme un CsvReader.close() derrière. On sait jamais, ya ptet plus que la fermeture du flux. Mieux vaut avoir une vrai méthode close().
Ouais, Import implements Closeable et Import#stopImport() devient @Override #close(), ça me paraît bien. -- Brendan Le Ny <bleny@codelutin.com> Code Lutin Conseil & Développement Logiciel Libre +33 (0)2 40 50 29 28 http://codelutin.com