Comment créer enum dynamiquement?
J'ai besoin de créer un enum, basé sur une table de la base de données.
De la table DB MyColors: id/titre/valeur
1/Rouge/1
2/Vert/4
dynamique créer
enum MyColors {
Red=1,
Green=4;
}
source d'informationauteur Mediator | 2011-02-03
Vous devez vous connecter pour publier un commentaire.
Vous pouvez créer dynamiquement le code source de la lecture à partir de la base de données et il vous suffit de générer les résultats dans un format propice à l'instauration d'un enum. Cependant, il est impossible de créer un enum au moment de l'exécution. Vous serait mieux avec une sorte de tableau associatif.
Une seule option est de définir un Schéma XML et les valeurs nécessaires, comme enum et de générer les fichiers de classe, afin que nous puissions gérer les valeurs en dehors du code source, mais on ne peut pas générer dynamiquement les valeurs enum à partir de la base de données.
En fait il y a une possibilité de créer dynamiquement des enums l'aide de la réflexion: http://niceideas.ch/roller2/badtrash/entry/java_create_enum_instances_dynamically
Il n'est pas clair si vous voulez générer du code source ou pas. Je suppose que non, car même compilé pas de code dans le même programme peut accéder à l'énumération des objets, sauf par le biais de la réflexion.
Alors pourquoi ne pas la cartographie de la table pour un ColorEntity objet en utilisant JPA?
Vous pouvez alors avoir une liste ou une carte de ces entités ou tout ce que vous avez besoin.
Le code ci-dessus peut vous aider.