package org.gcube.oidc; import java.util.List; import java.util.Map; import java.util.TreeMap; public class Site implements Comparable { private String name; private List roles; private Map children; public Site(String name, List roles) { this.name = name; this.roles = roles; this.children = new TreeMap<>(); } public String getName() { return name; } public void setRoles(List roles) { this.roles = roles; } public List getRoles() { return roles; } public Map getChildren() { return children; } public String dump() { return dump(""); } protected String dump(String indentString) { StringBuilder sb = new StringBuilder(); sb.append(indentString + "name: " + getName() + ", roles: " + getRoles() + "\n"); for (String child : getChildren().keySet()) { sb.append(getChildren().get(child).dump(indentString + " ")); } return sb.toString(); } @Override public int compareTo(Site o) { return getName().compareTo(o.getName()); } @Override public boolean equals(Object obj) { if (obj instanceof Site) { Site siteObj = (Site) obj; return getName().equals(siteObj.getName()) && getRoles().equals(siteObj.getRoles()) && getChildren().equals(siteObj.getChildren()); } else { return false; } } }