Bonsoir,
Je suis entrain de refactoriser un gros projet et un problème de redondance me casse la tête. Je m'en remets à vous pour me donner des idées.
J'ai constaté que des méthodes sont présentes à l'identique dans plusieurs de mes énumérations, je voudrais logiquement les avoir en un seul exemplaire. Le problème est qu'il n'est pas possible de faire hériter une énumération et que les interfaces ne m'aident pas.
Un exemple sera peut être plus parlant :
Et j'ai d'autres énumérations, disons B et C, qui fonctionnent avec le même principe de label avec la même fonction parse.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 public enum A { TRUC("coucou"), MACHIN("hello"); private String label; private A(String label) { this.label = label; } public static A parse(String str) { for (A e : A.values()) { if (e.label.equalsIgnoreCase(str)) return e; } return null; } }
J'ai essayer plusieurs approches en exploitant Enum<T> ou des interfaces mais je ne trouve pas de solution.
Toutes les suggestions sont les bienvenues !
Partager