argos/dmp-backend/src/main/java/eu/eudat/models/dmp/AssociatedProfiles.java

50 lines
1.6 KiB
Java

package eu.eudat.models.dmp;
import eu.eudat.utilities.XmlSerializable;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import java.util.LinkedList;
import java.util.List;
/**
* Created by ikalyvas on 12/20/2017.
*/
public class AssociatedProfiles implements XmlSerializable<AssociatedProfiles>{
List<AssociatedProfile> associatedProfiles;
public List<AssociatedProfile> getAssociatedProfiles() {
return associatedProfiles;
}
public void setAssociatedProfiles(List<AssociatedProfile> associatedProfiles) {
this.associatedProfiles = associatedProfiles;
}
@Override
public Element toXml(Document doc) {
Element associatedProfilesElement = doc.createElement("profiles");
for(AssociatedProfile associatedProfile:associatedProfiles){
associatedProfilesElement.appendChild(associatedProfile.toXml(doc));
}
return associatedProfilesElement;
}
@Override
public AssociatedProfiles fromXml(Element item) {
this.associatedProfiles = new LinkedList<>();
if(item!=null){
NodeList associatedProfilesElement = item.getChildNodes();
for (int temp = 0; temp < associatedProfilesElement.getLength(); temp++) {
Node associatedProfileElement = associatedProfilesElement.item(temp);
if (associatedProfileElement.getNodeType() == Node.ELEMENT_NODE) {
this.associatedProfiles.add(new AssociatedProfile().fromXml((Element)associatedProfileElement));
}
}
}
return this;
}
}