Générer Map<String,String> à partir de POJO
J'ai un POJO, et une (actuellement n'est pas encore construit) de la classe qui sera de retour les Listes. J'aimerais générer automatiquement le code nécessaire pour le POJO être consulté sur une Carte. Est-ce une bonne idée, est-il possible de le faire automatiquement, et ai-je besoin de le faire manuellement pour chaque POJO j'ai envie de le traiter de cette façon?
Grâce,
Andy
OriginalL'auteur Andrew Toulouse | 2010-07-09
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser Communes BeanUtils
BeanMap
pour cela.Mise à jour: puisque ce n'est pas une option en raison de certains apparente de la bibliothèque des problèmes de dépendance à Android, voici une base de lancement pour exemple la façon dont vous pourriez le faire avec un peu d'aide de La réflexion de l'API:
Si
java.haricots
API sont disponibles, alors vous pourriez faire:La réflexion a toujours un coût. Rien à faire contre. Mais vous pouvez faire confiance que le BeanUtils les gars ont optimisé autant que possible. C'est un très populaire de la bibliothèque.
Cool. Dois-je mettre en œuvre toute sorte d'interface sur mon Pojo, ou à l'aide de get* nommage assez (je suis en utilisant immuable Pojo w/ les constructeurs privés instancié en utilisant un Générateur de rapports)?
Il suit le JavaBean™ spécification, oui. Pas sûr au sujet de privé c'tors bien, mais un public de non-arg constructeur n'a logiquement pas semblent être nécessaires pour générer une carte basée sur une instance existante.
Je suis d'accord. *croise les doigts*. Merci pour votre aide!
OriginalL'auteur BalusC
Voici ma propre mise en œuvre, sans dépendances. Plutôt que de faire une copie de l'état de l'objet, il met en place une Carte en direct sur le pojo. Android ne prend pas en charge java.les haricots, mais vous pouvez utiliser openbeans à la place.
OriginalL'auteur mikeslattery