Существует ли аннотация JAXB для игнорирования родительского класса, когда у вас есть элемент @XmlElement в списке дочерних классов?Игнорировать родительский класс при сериализации в XML
Просто пояснить - мне было интересно, был ли лучший способ, чем маркировать все геттеры/сеттеры родительских классов как переходные, а затем вернуться к дочерним классам и добавить геттеры/сеттеры и аннотировать их как XmlElements а
Пример:
public class GenericHelper {
String name="";
String dates="";
String roleName="";
String loe="";
@XmlTransient
public String getName() {return name;}
public void setName(String name) {this.name = name;}
@XmlTransient
public String getDates() {return dates;}
public void setDates(String dates) {this.dates = dates;}
@XmlTransient
public String getRoleName() {return roleName;}
public void setRoleName(String roleName) {this.roleName = roleName;}
@XmlTransient
public String getLOE() {return loe;}
public void setLOE(String loe) {
this.loe = loe.replace("%", "").trim();
}
}
и
public class SpecificHelper extends GenericHelper {
List<ProjectHelper> projects;
public SpecificHelper(){
projects=new ArrayList<ProjectHelper>();
}
@XmlElement(name = "project")
@XmlElementWrapper (name = "projectlist")
public List<ProjectHelper> getProjects() {return projects;}
public void setProjects(List<ProjectHelper> projects) {this.projects = projects;}
@XmlElement
public String getName(){
return super.getName();
}
@Override
public String toString(){
String ret="SpecificHelper [";
ret+="name:"+name+";";
ret+="dates:"+dates+";";
ret+="roleName:"+roleName+";";
ret+="loe:"+loe+";";
ret+="\n\tprojects:"+projects+";";
return ret+"]";
}
}
Таким образом, в этом примере, если вынуть аннотаций XmlTransient я n GenericHelper, любой класс, который расширяет его, если бы у меня был метод getSpecificHelper(), который возвращал список всех работодателей и аннотировал его с помощью XmlElement, ВСЕ из этих элементов возвращаются с именем, LOE, RoleName и т. д. I Я ищу аннотацию класса, чтобы перейти на GenericHelper, поэтому я могу избежать использования всех @XmlTransients в отдельности и использовать только обозначения XmlElement, которые я поместил в SpecificHelper
Я не уверен, я понимаю. Можно ли разместить короткий пример, чтобы продемонстрировать свой вопрос? –
конечно..подтвердите это сейчас – Derek