package org.gcube.portlets.user.accountingdashboard.shared.data; import java.io.Serializable; import java.util.ArrayList; import java.util.Comparator; /** * * @author Giancarlo Panichi * * */ public class ScopeData implements Serializable, Comparator, Comparable { private static final long serialVersionUID = -8445665293115680236L; private String id; private String name; private ArrayList children; public ScopeData() { super(); } public ScopeData(String id, String name, ArrayList children) { super(); this.id = id; this.name = name; this.children = children; } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public ArrayList getChildren() { return children; } public void setChildren(ArrayList children) { this.children = children; } @Override public int compare(ScopeData o1, ScopeData o2) { if (o1 == o2) { return 0; } if (o1 == null) { return -1; } else { if (o2 == null) { return 1; } else { int diff = -1; if (o1 != null) { if (o1.getId() != null) { diff = ((o2 != null) && (o2.getId() != null)) ? o1.getId().compareTo(o2.getId()) : 1; } } return diff; } } } @Override public int compareTo(ScopeData o) { return compare(this, o); } @Override public String toString() { return "ScopeData [id=" + id + ", name=" + name + ", children=" + children + "]"; } }