Я использую следующий класс:JAXB Java Runtime Ошибка с Getter, но не сеттер
package com.mycom.ecnviewerview.viewer;
import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement
public class Report {
private String srunDate = null;
private String sUserID = null;
private List<Result> results = new ArrayList<Result>();
@XmlElement
public String getRunDate()
{
return this.srunDate;
}
public void setRunDate(String pRunDate)
{
this.srunDate = pRunDate;
}
@XmlElement
public String getUser()
{
return this.sUserID;
}
public void SetUser(String pUser)
{
this.sUserID = pUser;
}
@XmlElement
public List<Result> getResults()
{
return results;
}
public void SetResults(List<Result> pResults)
{
results = pResults;
}
}
И когда я звоню следующий код:
JAXBContext jaxbContext = JAXBContext.newInstance(Report.class);
Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
jaxbUnmarshaller.setEventHandler(new ValidationEventHandler() {
public boolean handleEvent(ValidationEvent event) {
throw new RuntimeException(event.getMessage(),
event.getLinkedException());
}
});
Report report = (Report) jaxbUnmarshaller.unmarshal(new FileReader("C:\\Temp\\File.xml"));
txtRunBy.setText(report.getUser());
txtRunDate.setText(report.getRunDate());
results = report.getResults();
Ошибка :
Err = java.lang.RuntimeException: свойство имеет getter "public java.lang.String com.mycom.ecnviewervie w.viewer.Report.getUser() ", но нет настройки. Для разборки, пожалуйста, определите сеттеры. (Или, если это свойство коллекции, убедитесь, что геттер возвращает экземпляр коллекции.)
Я смущен, потому что считаю, что у меня есть геттер и сеттер.
Любые идеи?
Спасибо, Кевин
Elliott, спасибо за подсказку, я просто подумал и пришел, чтобы опубликовать этот ответ! – kevin