Raccourci pour appeler toutes les méthodes setter sur un objet dans Eclipse?
Je veux créer un objet d'une classe, puis réglez toutes les propriétés en utilisant des méthodes de définition. Il y a plus de 150 setter et je tiens à le type de chacun d'eux ou même le type de l'objet nom de l'instance Object instance
type dot .
puis appuyez sur la barre d'espace pour Eclipse pour me donner des idées et puis sélectionnez la méthode d'initialisation. Je ne veux pas faire 150 fois.
Donc, je cherchais une sorte de raccourci dans Eclipse qui vous permet d'appeler tous les setters sur la méthode. Donc, comme vous tapez le nom de l'instance et Eclipse appel à toutes les méthodes de définition par exemple
- instanceName.setterOne("valOne");
- instanceName.setterTwo("valOne");
- instanceName.setterThree("valOne");
Je ne peux pas créer un autre constructeur dans la classe, je ne suis pas autorisé à le faire
source d'informationauteur simranNarula
Vous devez vous connecter pour publier un commentaire.
À partir de mon expérience de la dernière fois , je ne trouve pas eclipse est une telle fonctionnalité .Le plus que je peux faire est d'ouvrir le
Type Hierarchy
Vue (en appuyant sur F4 lors de l'affichage de cette classe ), puis les trier par la méthode nom de la classe et de copier tous les setters pour de plus amples modifier.Ou , vous pouvez utiliser la réflexion pour trouver toutes les méthodes de cette classe , et d'imprimer le setter appels , quelque chose comme ceci:
Voir cette question: Générer tous les setXXX appels d'un POJO dans Eclipse?
Il a une grande et simple de la façon de faire ce que vous voulez faire.
Oh et essayer d'ignorer les rageux!
Je ne suis pas au courant de toute Éclipse qui va vous aider ici.
Vous pourriez tomber en arrière à l'aide de quelque chose de maladroit comme emacs macros de clavier ou de script perl pour masser le code source en dehors d'Eclipse.
Votre autre option (bien qu'il ne sera probablement pas productif ...) consiste à demander à la lourdeur de l'API révisé; par exemple pour soutenir le "constructeur" de modèle.
Je voudrais sérieusement envisager de modifier votre classe, étant donné que vous avez atteint cette situation. Sans le savoir beaucoup au sujet de cette classe ou de vos objectifs, je crois qu'il n'y a presque pas de raison d'avoir 150 champs de l'individu, surtout si elles sont du même type. Pensez - y, si vous êtes déjà dans cette situation, comment facile il sera de maintenir ce code dans l'avenir?
Si les champs sont tous du même type, pensez à utiliser un tableau, un
List
ou unMap
(propriété->valeur). Si ils sont de nombreux types variés, pensez à comment vous pouvez les diviser en classes de composants qui pourraient être facilement gérés.J'ai Eclipse 4.6.0 - qui dispose d'une option d'auto-générer les getters et les setters (pas sûr au sujet des versions antérieures de l'Éclipse).
(a) Sélectionnez votre classe (et de droite de la souris)
(b) Sélectionner la Source (Maj+Alt+S)
(c) Sélectionner les Getters et les Setters
La résultante de la fenêtre pop-up (Générer les getters et setters) vous permet de sélectionner un seul ou TOUS les champs.
Espérons que cette aide (le cas échéant).
J'ai créé mon propre plus de solution générale à ce problème basée sur @Ken Chan réponse, non seulement des types de base. Il est loin d'être parfait, encore pour certains, il pourrait être un point de départ.
Code est ici
Voici quelques conseils que j'ai utilisé -
Ctrl+Maj+A - > éclipse de la sélection de bloc (c'est la magie de l'outil 01)
Ctrl + F -> eclipse trouver/rechercher et remplacer ( outil magique 02)
Ctrl +Maj + X -> pour les majuscules (outil 03)
Ici comment j'ai fait
de la sélection de bloc -> sélectionner tous les noms de champ (outil 01)
Ex : l'utilisateur
sélectionnez toutes les premières lettres et de prendre la première lettre en majuscules (outil 01/03)
Ex : L'Utilisateur
tout sélectionner et mettre le mot set (outil 01)
Ex: setUser
Aligner tous les champs joliment en ligne. Ainsi, vous pouvez utiliser le bloc sélecteur de droite
et sélectionner tous ensemble "();"
Ex: setUser();
maintenant vous avez toutes les poseurs de prêt
Lorsque vous souhaitez insérer une valeur à l'intérieur des parenthèses, vous pouvez utiliser la magie de l'outil de 02. Rechercher et remplacer ( pensez un peu et vous verrez une option )
Enfin, enregistrez votre heure de l'ennui de getters/setters paramètres.
cheers !
Si vous utilisez l'Ide, découvrez ce plugin:
https://plugins.jetbrains.com/plugin/9360-generateallsetter