Java: bibliothèque standard pour convertir le nom de champ ("firstName") en nom de méthode accessor ("getFirstName")
Est-il une bibliothèque standard (comme org.apache.commons.beanutils ou java.les haricots), qui prendra une chaîne de nom de champ et de le convertir au standard nom de la méthode? Je suis à la recherche de tous et ne peut pas trouver une chaîne simple utilitaire de conversion.
source d'informationauteur pconrey
Vous devez vous connecter pour publier un commentaire.
Un wild one-liner apparu!
La JavaBean d'introspection est probablement le meilleur choix. Il gère "est" getters pour les types boolean et des "getters" qui prend un argument et des setters aucun ou deux arguments, et d'autres cas de bord. C'est sympa pour l'obtention d'une liste de JavaBean champs d'une classe.
Voici un exemple,
Ce imprime
class
vient degetClass()
hérité deObject
EDIT: pour obtenir le getter ou un setter et son nom.
Vous pouvez utiliser un
PropertyDescriptor
sansInspector
(ce qui a été suggéré par Pierre):Avec le droit d'auteur par Matt Balle
J'ai modifié les méthodes ci-dessus, pour supprimer le caractère de soulignement et de tirer profit de la prochaine caractère... par exemple, si le nom du champ est "validated_id", puis la méthode de lecture nom sera "getValidatedId"
Dans l'exemple suivant deux champs nommés
example
eteXample
ont les gettersgetExample
etgeteExample
SI généré par eclipse. MAIS ce n'est pas compatible avecPropertyDescriptor("eXample",...).getReadMethod().getName()
qui attendgetEXample
comme valide getter nom.Goyave CaseFormat va le faire pour vous.
Par exemple de lower_underscore -> LowerUnderscore