package org.gcube.informationsystem.utils.documentation.knowledge; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Set; import org.gcube.informationsystem.types.reference.Type; public class TypesKnowledge { protected Map typeByName; protected Map> typesByLevels; protected Map levelOfTypes; protected Map> children; public TypesKnowledge() { this.typeByName = new HashMap<>(); this.typesByLevels = new HashMap<>(); this.levelOfTypes = new HashMap<>(); this.children = new HashMap<>(); } public void addType(T type) { typeByName.put(type.getName(), type); Set superClasses = type.getSuperClasses(); for(String superClass : superClasses) { } } public Set getTypesByLevel(int level) { return typesByLevels.get(level); } public int getTypeLevel(Type type) { return getTypeLevel(type.getName()); } public int getTypeLevel(String typeName) { return levelOfTypes.get(typeName); } }