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 クラス( ExampleJavadocHelloExampleFileHello )で構成されます。

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 を設定します。