46.2. 生成される API サブプロジェクト
概要
「Maven archetype でのコードの生成」 の説明に従って新しい Maven プロジェクトを生成した場合、camel-api-example/camel-api-example-api プロジェクトディレクトリー下で Java API をパッケージ化するための Maven サブプロジェクトを見つけることができるようになりました。このセクションでは、生成されたサンプルコードの詳細と、その動作を説明します。
Java API のサンプル
生成されたサンプルコードには、API コンポーネントのベースとなるサンプル Java API が含まれています。サンプル Java API は比較的シンプルで、2 つの Hello World クラス( ExampleJavadocHello と ExampleFileHello )で構成されます。
ExampleJavadocHello クラス
例46.1「ExampleJavadocHello クラス」 は、サンプル Java API からの ExampleJavadocHello クラスを示しています。クラスの名前が示すように、このクラスは Javadoc からマッピングメタデータを提供する方法を示すために使用されます。
例46.1 ExampleJavadocHello クラス
// Java
package org.jboss.fuse.example.api;
/**
* Sample API used by Example Component whose method signatures are read from Javadoc.
*/
public class ExampleJavadocHello {
public String sayHi() {
return "Hello!";
}
public String greetMe(String name) {
return "Hello " + name;
}
public String greetUs(String name1, String name2) {
return "Hello " + name1 + ", " + name2;
}
}ExampleFileHello クラス
例46.2「ExampleFileHello クラス」 は、サンプル Java API からの ExampleFileHello クラスを示しています。クラスの名前が示すように、このクラスは署名ファイルからマッピングメタデータを提供する方法を示すために使用されます。
例46.2 ExampleFileHello クラス
// Java
package org.jboss.fuse.example.api;
/**
* Sample API used by Example Component whose method signatures are read from File.
*/
public class ExampleFileHello {
public String sayHi() {
return "Hello!";
}
public String greetMe(String name) {
return "Hello " + name;
}
public String greetUs(String name1, String name2) {
return "Hello " + name1 + ", " + name2;
}
}ExampleJavadocHello の Javadoc メタデータの生成
ExampleJavadocHello のメタデータは Javadoc として提供されているので、サンプル Java API の Javadoc を生成し、これを camel-api-example-api Maven アーティファクトにインストールする必要があります。API POM ファイル camel-api-example-api/pom.xml は、Maven のビルド時にこの手順を自動的に実行するように maven-javadoc-plugin を設定します。