package no.met.metadataeditor.dataTypes; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Objects; import no.met.metadataeditor.dataTypes.attributes.DataAttribute; /** * Class representing a single content value in an editor variable. The class is * recursive so it can contain a mapping of child values as well. */ public class EditorVariableContent { private DataAttribute attrs; private Map<String, List<EditorVariableContent>> children; public EditorVariableContent() { children = new HashMap<>(); } public DataAttribute getAttrs() { return attrs; } public void setAttrs(DataAttribute attrs) { this.attrs = attrs; } public void addChild(String childName, List<EditorVariableContent> childContent){ children.put(childName, childContent); } public void setChildren(Map<String, List<EditorVariableContent>> children) { this.children = children; } public Map<String, List<EditorVariableContent>> getChildren() { return children; } @Override public boolean equals(Object o){ if(!(o instanceof EditorVariableContent)){ return false; } EditorVariableContent evc = (EditorVariableContent) o; return Objects.equals(attrs, evc.attrs) && Objects.equals(children, evc.children); } }