2010-01-27 9 views
2

Est-ce que quelqu'un sait comment mettre en place un modèle direct dans IntelliJ pour faire setters spécialisés - J'utilise v5, mais je l'accepte avec la connaissance de plaisir pour une version plus récente) -IntelliJ Modèle en direct: modèle setters modifiés

Mon premier besoin est un poseur firePropertyChange:

public final static String $PROPERTY$ = "$property$" 
public void set$Property$($TYPE$ $property$) { 
    Object oldValue = this.$property$; 
    this.$property$ = $property$; 
    firePropertyChange($PROPERTY$, oldValue, $property$); 
} 

J'ai une version semi-travail qui génèrent la mise en œuvre avec des variables définies comme celui-ci: propriété $ -> completeSmart() $ Immobilisations corporelles $ -> completeSmart()

Ma deuxième besoin est un poseur de style constructeur qui appelle le poseur régulier et puis retourner ce après le jeu:

public $THIS_TYPE$ with$Property$($TYPE$ $property$) { 
    set$Property$($property$); 
    return this; 
} 

Ce que je n'ai rien vraiment bon: Je dois encore taper beaucoup!

Une suggestion?

Répondre

6

Quelque chose comme ça

private $TYPE$ $NAME$; 
public $THIS$ set$BNAME$($TYPE$ $NAME$) { 
    this.$NAME$ = $NAME$; 
    return this; 
} 

Type = complete() 
NAME = suggestVariableName() 
BNAME = capitalize(NAME) 
THIS = className() 

Le seul ist problème que className ne fonctionnera pas dans les classes imbriquées comme il retournera « extérieur $ intérieure », mais il devrait fonctionner assez bon.