Java 禁用列表的特殊处理<;T>;JAXB封送期间的实现者
我有一个名为Java 禁用列表的特殊处理<;T>;JAXB封送期间的实现者,java,jaxb,jax-ws,cxf,jax-ws-customization,Java,Jaxb,Jax Ws,Cxf,Jax Ws Customization,我有一个名为ListBase的@xmltransive类,它实现了List。然后,我将该列表分为@XmlType-StringList,@XmlType-PersonList,等等 JAXB似乎以一种特殊的方式处理此类,例如,当该类的实例是某个其他类的成员时,该成员将被封送为 <xs:element maxOccurs="unbounded" type="whatever the type of T" .../> 注意:我是专家组的负责人和成员 如果使用MOXy作为JAXB提供程序
ListBase
的@xmltransive
类,它实现了List
。然后,我将该列表分为@XmlType-StringList
,@XmlType-PersonList
,等等
JAXB似乎以一种特殊的方式处理此类,例如,当该类的实例是某个其他类的成员时,该成员将被封送为
<xs:element maxOccurs="unbounded" type="whatever the type of T" .../>
注意:我是专家组的负责人和成员 如果使用MOXy作为JAXB提供程序,那么可以利用外部绑定文件覆盖类型的超类
相关问题
相关问题
<xs:element type="type of my list implementor" .../>`
@XmlTransient
public abstract class ListBase<T> implements List<T> {
protected List<T> list;
public ListBase(List<T> list) {
this.list = list;
}
public ListBase() {
this(new ArrayList<T>());
}
public abstract List<T> getList();
public abstract void setList(List<T> value);
//The rest is List<T> implementation using encapsulation of this.list
//...
}
@XmlType(name = "ArrayOfstring", namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays")
@XmlAccessorType(XmlAccessType.NONE)
public class StringList extends ListBase<String> {
public StringList(List<String> list) {
super(list);
}
public StringList() {
super();
}
@XmlElement(name = "string")
public List<String> getList() {
return list;
}
public void setList(List<String> value) {
this.list = value;
}
}