Itérer sur les champs d'une classe
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:
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:
1 2
|
Iterable<Element> all(); |
Une première solution:
Code:
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.