J'ai plusieurs classes comme dans l'exemple suivant:plugin Eclipse pour la génération de code
abstract class AClass {
boolean validate(){
return true;
}
}
Lorsqu'une autre classe étend AClass
, je fais comme ça:
class BClass extends AClass {
@Override
boolean validate() {
if (!super.validate()) {
return false;
}
// TODO validate
return true;
}
}
Y at-il un plugin Eclipse génère ce code pour moi lorsque je crée une nouvelle classe à partir du menu (Fichier> Nouveau> Classe)?
Je pense à utiliser une annotation
@Target(ElementType.METHOD)
@interface Code {
String content();
}
et l'ajouter à la méthode:
abstract class AClass {
@Code(content = "\tif (!super.validate()) {\r\n"
+ "\t\treturn false;\r\n"
+ "\t}\r\n"
+ "\t// TODO validate\r\n"
+ "\treturn true;")
boolean validate() {
return true;
}
}
Le plugin doit rechercher l'annotation et générer le code dans la classe nouvellement créée. Sous Windows -> Préférences, vous pouvez entrer des modèles de code Java.
Je pense que la vraie question ici est pourquoi vous devez implémenter la même méthode encore et encore –
@matt Dans la classe étendue, // TODO validate' sera remplacé par du code qui valide les nouveaux champs ajoutés par cette classe. –
alors faites 'validate()' final, et faites une nouvelle méthode abstraite 'doValidate()'? –