Existe-t-il une annotation JAXB pour ignorer une classe parent lorsque vous avez un @XmlElement sur une liste des classes enfant? Juste pour clarifier - Je me demandais s'il y avait une meilleure façon que de marquer tous les getters/setters des classes parentes comme transitoires, puis de retourner aux classes enfant et d'ajouter des getters/setters et les annoter comme XmlElements ainsiIgnorer une classe parent lors de la sérialisation au format XML
exemple:
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();
}
}
et
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+"]";
}
}
ainsi, dans cet exemple, si je prends les annotations XmlTransient i n GenericHelper, n'importe quelle classe qui l'étend, si je devais avoir une méthode getSpecificHelper() qui retourne une liste de tous les employeurs, et l'annote avec XmlElement, TOUS ces éléments retourneront avec un nom, LOE, RoleName, etc. Je cherche une annotation de classe pour aller sur GenericHelper afin que je puisse éviter d'avoir à utiliser tous les @XmlTransients individuellement, et seulement utiliser les notations XmlElement que j'ai mises dans le SpecificHelper
Je ne suis pas sûr que je comprends. Est-il possible d'afficher un court exemple pour démontrer votre question? –
sure..typing il maintenant – Derek