1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
public class FileProcessor
implements Iterable<<MON_TYPE_RESULTAT>> {
/**
* Chemin du dossier racine où sont localisés les fichiers
* histoire de faire un peu configurable.
*/
private String _pathname;
private List<String> _elements = new ArrayList<String>();
public FileProcessor(String pathname) {
_pathname = pathname;
}
public void add(String element) {
_elements.add(element);
}
public int elementCount() {
return _elements.size();
}
public <MON_TYPE_RESULTAT> elementAt(int index) {
File file = new File(_pathname + _elements.get(index));
if (file.exists()) {
// faire toutes les manipulations nécessaires avec file
// et créer une instance de <MON_TYPE_RESULTAT> qui
// répond au besoin
return <MON_TYPE_RESULTAT>;
} else
return null; // Par exemple... ou alors throw new Exception, etc, etc...
}
public Iterator<<MON_TYPE_RESULTAT>> iterator() {
return /*
une petite implémentation d'itérateur qui permet de parcourir
les éléments "calculés", ça sera très pratique pour manipuler
l'objet dans une boucle.
*/;
}
} |