47.3. 方法别名
概述
除了 Java API 中显示的标准方法名称外,对于给定方法定义附加名称(别名)通常很有用。特别常见的是,您可以允许将属性名称(如 widget
)用作 accessor 方法的别名(如 getWidget
或 setWidget
)。
语法
alias
元素可使用一个或多个别名子元素定义,如下所示:
<aliases> <alias> <methodPattern>MethodPattern</methodPattern> <methodAlias>Alias</methodAlias> </alias> ... </aliases>
其中 MethodPattern
是 Java API 中匹配方法名称的正则表达式(java.util.regex
语法),模式通常包含捕获组。Alias
是替换表达式(在 URI 中使用),它可使用以上捕获组中的文本(例如,指定为 $1
、$2、$2
或 $3
(第一个、第二个或第三个捕获组)中的文本。
影响范围
如以下提取所示,别名
元素可以选择性地显示为 apis
元素的子项和/或作为 api
元素的子项:
<configuration> <apis> <api> <apiName>...</apiName> ... <aliases>...</aliases> </api> <aliases>...</aliases> ... </apis> </configuration>
您可以在以下范围内定义 别名
元素:
-
作为
api
元素 containerruntime- alias mappings 的子项 ,别名
映射只适用于api
元素指定的 API 类。 -
作为
apis
元素 modprobe- alias 的子项 映射默认应用于所有 API 类,但可以在api
级别覆盖。
Example
以下示例演示了如何为 common get/set bean 方法模式生成别名:
<aliases> <alias> <methodPattern>[gs]et(.+)</methodPattern> <methodAlias>$1</methodAlias> </alias> </aliases>
在前面的别名定义中,您可以使用 widget
作为方法 getWidget
或 setWidget
的别名。请注意,使用捕获组 (.+)
来捕获方法名称中的后一部分(如 Widget
)。