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...')
}
}
}
※関連コンテンツ