Javaアクションを利用する

Javaアクションを作る過程は、Javascriptと、Swiftアクションを作るのと類似しています。以下の例を通じて、簡単なJavaアクションを作り、アクションにパラメータを追加して利用する方法をお教えします。

作成されたアクションをコンパイルしてテストするために、必ずJDK 8がローカル環境に設定されていなければなりません。

アクションを作成する

Javaアクションは、mainメソッドのあるJavaプログラムです。よって、以下の形式でマソッドが必ず定義されていなければなりません。

public static com.google.gson.JsonObject main(com.google.gson.JsonObject);

例えば、Hello.javaファイルを作る場合、以下のコードで作ることができます。

import com.google.gson.JsonObject;

public class Hello {
    public static JsonObject main(JsonObject args) {
        String name = "World";
        String place = "Naver";
        if (args.has("name"))
            name = args.getAsJsonPrimitive("name").getAsString();
        if (args.has("place"))
            place = args.getAsJsonPrimitive("place").getAsString();

        JsonObject response = new JsonObject();
        response.addProperty("payload", "Hello, " + name + " in " + place + "!");
        return response;
    }
}

その後、以下のコマンドでHello.javaをJARファイルのhello.jarでコンパイルします。

$ javac Hello.java
$ jar cvf hello.jar Hello.class

参考:Javaファイルをコンパイルする際、google-gsonは必ずJava CLASSPATHに含まれる必要があります。

作成されたhello.jarファイルを利用し、'helloJava'という名前のアクションを作成します。 メインクラスをHelloクラスに設定します。

compute-15-2-301

もし、クラスが基本パッケージでない場合、com.example.MyMainのようにパッケージを含むクラス名FQCN(Java fully-qualified class name)を利用することができます。

compute-15-2-302

なお、Javaアクションのメソッド名まで変更して利用したい場合には、com.example.MyMain#methodNameのようにメソッド名を指定してアクションを作成することができます。

compute-15-2-303

基本パラメータを設定する

毎回アクションを実行する度にパラメータを転送する代わりに、特定のパラメータに基本値を指定することができます。 上記で作成したhelloアクションのplaceパラメータに基本値を登録してみます。

compute-15-2-105

アクション実行時にパラメータを転送する

アクションの実行の際、入力でパラメータを転送することができます。 Main関数に転送されるパラメータは、JSON object形式で転送されます。

パラメータは、アクションの実行の際に直接入力するか、JSON形式のファイルを作成して転送することができます。 ファイルを通じてパラメータを転送する場合には、以下のようなJSON形式のファイルを作成する必要があります。

compute-15-2-106

関連情報へ

下のガイドから関連情報をご確認いただけます。

に対する検索結果は~件です。 ""

    に対する検索結果がありません。 ""

    処理中...