このページの例は、com.me パッケージに属する Person Java クラスに基づいています。
package com.me;
public class Person {
private String name;
private Integer age;
public Person() {
this.name = "Max Mule";
this.age = 10;
}
public Person(String name, Integer age) {
this.name = name;
this.age = age;
}
}
|
|
Java Module で使用するクラスはエクスポートする必要があります (デフォルトパッケージに属していない場合)。
エクスポートしないと、実行に失敗し、JAVA:CLASS_NOT_FOUND エラーが表示されます。
「リソースのエクスポート方法」を参照してください。
|
このクラスのコンストラクターは、Java Module の new 操作を使用してコールできます。
この例は、パラメーターが不要なコンストラクターを使用して Person のインスタンスを作成する方法を示しています。
<java:new class="com.me.Person" constructor="Person()"/>
パラメーターが必要なコンストラクターを使用して Person オブジェクトを作成する方法を次に示します。
<java:new class="com.me.Person" constructor="Person(String, Integer)">
<java:args>#[{
name: 'John Doe',
age: 30
}]</java:args>
</java:new>
コンストラクターのパラメーターでは、constructor="Person(java.lang.String, java.lang.Integer)" などの完全なパッケージ名を指定できます。これは必要ありませんが、コードをより明確にしたり、Java コードに競合するクラス名がある場合に役立ちます。
|
|
args パラメーターにコンストラクターの引数を設定する場合は、マップのキーでパラメーターがコンストラクターに渡される方法を判断します。
パラメーターを名前 (firstName、age など) で参照するには、 -parameters コンパイラーフラグを使用して、メソッドまたはコンストラクターを含む Java クラスをコンパイルする必要があります。
クラスが -parameters フラグを使用してコンパイルされていない場合は、同じパラメーターが宣言された順序と arg0、arg1 のような正規名で参照されます。
<java:args>#[{
arg0: 'John Doe',
arg1: 30
}]</java:args>
Java クラスが Studio プロジェクトで定義されている場合、-parameters フラグを使用して Java クラスをコンパイルするように Maven コンパイラープラグインを pom.xml で設定する必要があります。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>x.x.x</version>
<configuration>
<compilerArgs>
<arg>-parameters</arg>
</compilerArgs>
</configuration>
</plugin>
|