DefaultTaskクラスの利用 (1/5)
作成:2017-10-21 09:53
更新:2017-10-21 09:53
更新:2017-10-21 09:53
■DefaultTask継承クラスの作成
Gradleには、標準でさまざまなタスクが用意されていますが、これらは「DefaultTask」というクラスを継承したクラスとして用意されています。このDefaultTask継承クラスは、自分でタスクを作ってカスタマイズすることができるのです。
まずは、「DefaultTask継承クラス」がどんなものか、実際に作ってみましょう。このクラスは、以下のような形で定義されます。
クラスは、DefaultTaskというクラスを継承して作成します。このクラス内に、タスクとして実行する処理をメソッドとして用意します。このメソッドには、@TaskActionアノテーションを付けておきます。これにより、タスクとして実行されたとき、このメソッドが呼び出されるようになります。
タスクで使用する各種の値などはフィールドとして用意しておきます。これは、そのまま利用してもいいですが、外部から利用する場合はprivateフィールドにしておき、アクセスのためのメソッドを用意したほうがスマートでしょう。
以下に簡単なクラスの例を挙げておきましょう。Calcクラスでは、calcというタスクアクションを用意しています。ここで、numとopの値に応じて合計の計算や数字のカウントなどを行なっています。
処理そのものは特に難しいところはないでしょう。問題は、これをどうやって利用するのか?ですね。
まずは、「DefaultTask継承クラス」がどんなものか、実際に作ってみましょう。このクラスは、以下のような形で定義されます。
class クラス extends DefaultTask {
……フィールド……
void メソッド ( 引数 ) {
……処理……
}
@TaskAction
void メソッド () {
……処理……
}
}
クラスは、DefaultTaskというクラスを継承して作成します。このクラス内に、タスクとして実行する処理をメソッドとして用意します。このメソッドには、@TaskActionアノテーションを付けておきます。これにより、タスクとして実行されたとき、このメソッドが呼び出されるようになります。
タスクで使用する各種の値などはフィールドとして用意しておきます。これは、そのまま利用してもいいですが、外部から利用する場合はprivateフィールドにしておき、アクセスのためのメソッドを用意したほうがスマートでしょう。
以下に簡単なクラスの例を挙げておきましょう。Calcクラスでは、calcというタスクアクションを用意しています。ここで、numとopの値に応じて合計の計算や数字のカウントなどを行なっています。
処理そのものは特に難しいところはないでしょう。問題は、これをどうやって利用するのか?ですね。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
●プログラム・リスト●
class Calc extends DefaultTask { private int num private String op void num(p1){ num = p1 } void op(p1){ op = p1 } @TaskAction void calc() { switch(op) { case 'total': int total = 0 for(def i in 1..num) { total += i } println("total: ${total}") break case 'count': for(def i in 1..num) { println("NO, ${i}") } break default: println('not found operator...') } } }
※関連コンテンツ