46.2. 生成的 API 子项目

概述

假设您生成了一个新的 Maven 项目,如 第 46.1 节 “使用 Maven Archetype 生成代码” 所述,您现在可以在 camel-api-example/camel-api-example-api 项目目录下找到用于打包 Java API 的 Maven 子项目。在本节中,我们将详细介绍生成的示例代码,并描述它的工作原理。

Java API 示例

生成的示例代码包括一个示例 Java API,其示例 API 组件基于这个 API。示例 Java API 相对简单,仅包含两个 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-javadoc-plugin,以便在 Maven 构建过程中自动执行此步骤。