デコレータを生成したいインターフェイスに移動します。
public interface MyInterfaceWithManyMethods {
void method1();
void method2();
void method3();
}
[Alt] + [Enter]を押して[Implement Interface]を選択し、 "MyDecorator"のような名前をデコレータに付けます。これはあなたに新しいクラスで
public class MyDecorator implements MyInterfaceWithManyMethods {
public void method1() {
}
public void method2() {
}
public void method3() {
}
}
を与え、クラス名を選択し、「リファクタリング」 - >「代表団と継承を交換してください」あなたのインターフェースを選択し、Enterキーを押しますすべてのメソッド名を、チェックします。
public class MyDecorator {
private final MyObject object = new MyObject();
public void method1() {
object.method1();
}
public void method2() {
object.method2();
}
public void method3() {
object.method3();
}
private class MyObject implements MyInterfaceWithManyMethods {
public void method1() {
}
public void method2() {
}
public void method3() {
}
}
}
内部クラスとオブジェクト初期化子を手動で削除します。あなたが得る:
public class MyDecorator {
public void method1() {
object.method1();
}
public void method2() {
object.method2();
}
public void method3() {
object.method3();
}
}
Altキー+今赤マークされている「オブジェクト」に入力し、「フィールドの作成」を選択し、MyInterfaceWithManyMethodsを選択します。
public class MyDecorator {
private MyInterfaceWithManyMethods object;
public void method1() {
object.method1();
}
public void method2() {
object.method2();
}
public void method3() {
object.method3();
}
}
オブジェクト変数を選択しては、Alt + Enterキー、 "コンストラクタのパラメータを追加" を選択:
public class MyDecorator {
private MyInterfaceWithManyMethods object;
public MyDecorator(MyInterfaceWithManyMethods object) {
this.object = object;
}
public void method1() {
object.method1();
}
public void method2() {
object.method2();
}
public void method3() {
object.method3();
}
}
あなたはそれがすべてのAlt + Enterキーのストローク数で行われます参照してください。多くの作業のように読み取りますが、20秒以内に実行できます。 2つまたは3つのメソッドがある場合は、ライブテンプレートではより高速に処理できますが、複雑なシグネチャを持つメソッドが多数ある場合は、このメソッドで約20秒で作業結果を得ることができます。 Altキー+ Enterキーは、単に岩:あなたがこのテンプレートを使用してファイルを作成したときだけ Altキー+ Inserと選択肢のデリゲートメソッドを使用し、その後、
class ${NAME} implements ${INTERFACE} {
private final ${INTERFACE} delegate;
public ${NAME}(final ${INTERFACE} delegate) {
this.delegate = delegate;
}
と:D
可能性があり –
私はあなたのための完全な記述を追加しました。 –
Thx +1完全な答え:)。テンプレートを作成したら、ファイルを作成してから「Alt + Inser」を1つ作成するだけなので、ファイルテンプレートを作成しました。作成時間は、ソリューションとほぼ同じである必要がありますが、キーボードの操作は少なくて済みます。 –