argos/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/DefinitionEntity.java

49 lines
1.3 KiB
Java

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 = "sections")
@XmlElement(name = "section")
private List<SectionEntity> sections;
@XmlElementWrapper(name = "pages")
@XmlElement(name = "page")
private List<PageEntity> pages;
public List<SectionEntity> getSections() {
return sections;
}
public void setSections(List<SectionEntity> sections) {
this.sections = sections;
}
public List<PageEntity> getPages() {
return pages;
}
public void setPages(List<PageEntity> pageEntities) {
this.pages = pageEntities;
}
public List<FieldEntity> getAllField(){
List<FieldEntity> fieldEntities = new ArrayList<>();
if (this.getSections() != null){
for (SectionEntity sectionEntity: this.getSections()) {
fieldEntities.addAll(sectionEntity.getAllField());
}
}
return fieldEntities;
}
public List<FieldEntity> getFieldById(String id) {
return this.getAllField().stream().filter(x-> id.equals(x.getId())).toList();
}
}