我想实现一个返回JAXBElement的方法,下面是代码
@XmlRootElement(name = "history")
@XmlAccessorType(XmlAccessType.FIELD)
public class IBHistoryInfo {
@XmlElement(name="trade")
private List<IBTradeInfo> mTrade;
public void updateTradeValue(int reqId, String date, double open, double high, double low,
double close, int volume, int count, double WAP, boolean hasGaps){
IBTradeInfo info = new IBTradeInfo();
info.setReqId(reqId);
info.setDate(date);
info.setOpen(open);
info.setHigh(high);
info.setLow(low);
info.setClose(close);
info.setVolume(volume);
info.setCount(count);
info.setWap(WAP);
info.setHasGaps(hasGaps);
this.setTradeInfo(info);
}
public void setTradeInfo(IBTradeInfo tradeinfo){
mTrade.add(tradeinfo);
}
public List<IBTradeInfo> getTradeInfo(){
if (mTrade == null) {
mTrade = new ArrayList<IBTradeInfo>();
}
return this.mTrade;
}
}现在我不知道如何在上面的类中创建一个返回JAXBElement的方法
例如
public JAXBElement<IBTradeInfo> getTradeXML(){
return mTrade
}发布于 2011-04-18 21:13:13
下面是如何实现getTradeXML()方法:
public JAXBElement<IBTradeInfo> getTradeXML(){
if(null == mTrade || mTrade.size() == 0) {
return null;
}
IBTradeInfo tradeInfo = mTrade.get(0);
QName qname = new QName("http://www.example.com", "trade-info");
return new JAXBElement(qname, IBTradeInfo.class, tradeInfo);
}发布于 2011-04-18 21:14:58
我相信,一次只能返回1个元素。在这种情况下,您可能需要编写如下代码:
public JAXBElement<IBTradeInfo> getTradeXML(){
return new JAXBElement<IBTradeInfo>(mTrade.get(0), IBTradeInfo.class);
}只是猜测而已。
https://stackoverflow.com/questions/5702035
复制相似问题