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