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