下面介绍可以在Mojo中作为参数使用的各种复合对象,及它们在POM中的解释规则。一般来说,保存参数值(和参数值中的元素)的对象的类型是按以下步骤决定的(确定有效类型的第一步):
- 1. 如果XML元素包含implementation属性,就使用它
- 2. 如果XML标签包含”.”,尝试解析为类的全名
- 3. 尝试将XML标签(首字母大写)解析为Mojo所在包中的类
- 4. 对数组,使用数组的元素类型(例如,对String[]参数使用String类型);对集合和映射,使用Mojo配置中指定的类;使用String作为集合类型的entry和map的值的类型。
一旦元素的类型确定了,xml中的文本将被转换为恰当的对象。
1、数组
数组参数通过多次指定来配置,例如:
/**
* My Array.
*/
@Parameter
private String[] myArray;
<myArray>
<param>value1</param>
<param>value2</param>
</myArray>
2、list类型
这一类包含所有实现java.util.Collection的类,如ArrayList或HashSet。这些参数也像数组一样通过多次指定来配置,例如:
/**
* My List.
*/
@Parameter
private List myList;
<myList>