47.3. 方法别名
概述
除了 Java API 中显示的标准方法名称外,通常对于定义给定方法的其他名称(别名)也很有用。某种常见情形是,您允许将属性名称(如 小部件
)用作 accessor 方法的别名(如 getWidget
或 setWidget
)。
语法
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
元素 的子项 thealias
映射只适用于api
元素指定的 API 类。 -
作为
apis
元素的子项 thealiases
映射默认应用到所有 API 类,但可以在api
级别上覆盖。
示例
以下示例演示了如何为 common get/set Bean 方法模式生成别名:
<aliases> <alias> <methodPattern>[gs]et(.+)</methodPattern> <methodAlias>$1</methodAlias> </alias> </aliases>
使用上述别名定义时,您可以使用 widget
作为方法 getWidget
或 setWidget
的别名。请注意,使用捕获组 (.+)
来捕获方法名称的后一种部分(例如,Bloy s
)。