package eu.eudat.commons.types.descriptiontemplate; import jakarta.xml.bind.annotation.*; import java.util.ArrayList; import java.util.List; @XmlRootElement(name = "root") @XmlAccessorType(XmlAccessType.FIELD) public class DefinitionEntity { @XmlElementWrapper(name = "pages") @XmlElement(name = "page") private List pages; public List getPages() { return pages; } public void setPages(List pageEntities) { this.pages = pageEntities; } public List getAllField(){ List fieldEntities = new ArrayList<>(); if (this.getPages() != null){ for (PageEntity sectionEntity: this.getPages()) { fieldEntities.addAll(sectionEntity.getAllField()); } } return fieldEntities; } public List getAllFieldSets(){ List fieldSetsEntities = new ArrayList<>(); if (this.getPages() != null){ for (PageEntity sectionEntity: this.getPages()) { fieldSetsEntities.addAll(sectionEntity.getAllFieldSets()); } } return fieldSetsEntities; } public List getFieldSetById(String id) { return this.getAllFieldSets().stream().filter(x-> id.equals(x.getId())).toList(); } public List getFieldById(String id) { return this.getAllField().stream().filter(x-> id.equals(x.getId())).toList(); } }