多くの場合、コードでビルダー メソッドを作成する必要があります。これらのメソッドは getter に似ていますが、代わりにreturn this
を使用します。with
get
そのタスクを高速化するために、IDEA でライブ テンプレートを作成したいと思います。
これは私が得た距離です:
(~/.IntelliJIdea14/config/templates/user.xml
これは次のようになります:)
<template name="builderMethod" value="public $CLASS_NAME$ with$VAR_GET$(final $TYPE$ $PARAM_NAME$) { this.$VAR$ = $PARAM_NAME$; return this; }" description="create a builder method" toReformat="true" toShortenFQNames="true">
<variable name="CLASS_NAME" expression="className()" defaultValue="" alwaysStopAt="true" />
<variable name="VAR" expression="complete()" defaultValue="" alwaysStopAt="true" />
<variable name="PARAM_NAME" expression="VAR" defaultValue="" alwaysStopAt="true" />
<variable name="TYPE" expression="typeOfVariable("this." + VAR)" defaultValue="" alwaysStopAt="true" />
<variable name="VAR_GET" expression="capitalize(VAR)" defaultValue="" alwaysStopAt="true" />
<context>
<option name="JAVA_EXPRESSION" value="false" />
<option name="JAVA_DECLARATION" value="true" />
</context>
</template>
typeOfVariable("this." + VAR)
これは、そうでない場合を除いて、ほとんど機能します。このメソッドを呼び出す方法を推測しました。これは、このページを除いて、式で使用される構文に関するドキュメントが見つからなかったためです。このページには、スクリプト言語の名前やグーグルを簡単にする何かについても言及されていません。
への呼び出しを修正するにはどうすればよいtypeOfVariable
ですか?
おまけの質問:フィールドのみを表示するにはどうすればよいcomplete()
ですか?VAR
同様の質問ですが、開始すらありません: IntelliJ の Fluent-API Builder のライブ テンプレート