是否有人知道如何在intellij中设置实时模板以执行专门的setter - 我正在使用v5,但我很乐意接受最近发布的知识) -
我的首要需求是firePropertyChange setter:
public final static String $PROPERTY$ = "$property$"
public void set$Property$($TYPE$ $property$) {
Object oldValue = this.$property$;
this.$property$ = $property$;
firePropertyChange($PROPERTY$, oldValue, $property$);
}
我有一个半工作版本,使用如下定义的变量生成实现: $ property $ - > completeSmart() $ PROPERTY $ - > completeSmart()
我的第二个需求是一个构建器样式setter,它调用常规setter然后在set之后返回:
public $THIS_TYPE$ with$Property$($TYPE$ $property$) {
set$Property$($property$);
return this;
}
对于这个我没有什么好的东西:我还要输入很多东西!
有什么建议吗?
答案 0 :(得分:6)
像这样的东西
private $TYPE$ $NAME$;
public $THIS$ set$BNAME$($TYPE$ $NAME$) {
this.$NAME$ = $NAME$;
return this;
}
,其中
Type = complete()
NAME = suggestVariableName()
BNAME = capitalize(NAME)
THIS = className()
唯一的问题是className不能在嵌套类中工作,因为它将返回“Outer $ Inner”但它应该工作得足够好。