Bonjour à tous,

J'ai une classe provider. Tous les éléments qu'elle peut fournir sont dans des des champs static. Je voudrais itérer sur tous ces éléments. Comment faire?

Voici quelques détails:

D'abord la classe Provider:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
class Provider {
 
  static element un = ...;
 
  static element deux = ...;
 
  .... quelques milliers d'éléments
 
}
Ensuite, ce que je voudrais:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
Iterable<Element> all();
Une première solution:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
static Element[] all = {un, deux,...}
Mais d'un coté c'est assez chiant d'ajouter un à un tous les éléments dans le tableau. Un autre inconvénient est qu'à chaque ajout d'élément il faut mettre le tableau all à jour.

Je peux aussi faire de la réfection mais je n'y connais rien. De plus, j'ai un mauvais pré-sentiment.

La solution est-elle de revoir tout le design de la class Provider? Avez-vous d'autres idées?

Merci de votre aide.