我正在使用jibx自动生成基于xsd模式分类的java。
在此模式下,我有一个称为市场的集合:
<xs:element maxOccurs="unbounded" minOccurs="0"
name="markets" nillable="true" type="market"/>
当我运行jibx(使用maven插件)时,结果是一个带有以下集合的Java类:
private List<Market> marketList = new ArrayList<Market>();
/**
* Get the list of 'markets' element items.
*
* @return list
*/
public List<Market> getMarketList() {
return marketList;
}
/**
* Set the list of 'markets' element items.
*
* @param list
*/
public void setMarketList(List<Market> list) {
marketList = list;
}
我想要的是元素的名称以及不带有List的getter和setter,而是带有markets setMarkets()和getMarkets()的单词。
我知道我可以在pom.xml中指定一个自定义文件:
<customizations>
<customizations>src/main/config/custom1.xml</customizations>
</customizations>
但是我不知道如何在custom1.xml中指定所需的行为。
有什么想法吗?
最佳答案
马可
您是正确的,您需要使用扩展程序自定义。有两种方法可以替换方法名称:
使用strip-suffixes命令。
您的自定义文件如下所示<schema-set xmlns:xs="http://www.w3.org/2001/XMLSchema">
<name-converter strip-suffixes="List"/>
</schema-set>>
写一个名字转换器
如果您希望您的方法是getMarkets而不是getMarket。
这是您要从JiBX网站上执行的操作的文档:
http://jibx.sourceforge.net/fromschema/codegen-extends.html
唐
JiBX贡献者
关于java - jibx:如何从自动生成的Java集合中删除单词“List”?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16833610/