47.3. 方法别名


概述

除了 Java API 中显示的标准方法名称外,通常对于定义给定方法的其他名称(别名)也很有用。某种常见情形是,您允许将属性名称(如 小部件)用作 accessor 方法的别名(如 getWidgetsetWidget)。

语法

alias 元素可使用一个或多个别名子元素来定义,如下所示:

<aliases>
  <alias>
    <methodPattern>MethodPattern</methodPattern>
    <methodAlias>Alias</methodAlias>
  </alias>
  ...
</aliases>

这里的 MethodPattern 是一个正则表达式(java.util.regex 语法),用于与 Java API 中的匹配方法名称,模式通常包括捕获组。Alias 是替换表达式(用于在 URI 中使用),它使用前面捕获组中的文本(例如,以 $1$2$3 )用于第一个、第二个或第三个捕获组中的文本。

影响范围

如以下摘录所示,别名 元素可以选择性地显示为 apis 元素的子项,和/或作为 api 元素的子项:

<configuration>
  <apis>
    <api>
      <apiName>...</apiName>
      ...
      <aliases>...</aliases>
    </api>
    <aliases>...</aliases>
    ...
  </apis>
</configuration>

您可以在以下范围中定义 别名 元素:

  • 作为 api 元素 的子项 the alias 映射只适用于 api 元素指定的 API 类。
  • 作为 apis 元素的子项 the aliases 映射默认应用到所有 API 类,但可以在 api 级别上覆盖。

示例

以下示例演示了如何为 common get/set Bean 方法模式生成别名:

<aliases>
  <alias>
    <methodPattern>[gs]et(.+)</methodPattern>
    <methodAlias>$1</methodAlias>
  </alias>
</aliases>

使用上述别名定义时,您可以使用 widget 作为方法 getWidgetsetWidget 的别名。请注意,使用捕获组 (.+) 来捕获方法名称的后一种部分(例如,Bloy s)。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.