You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
89 lines
1.6 KiB
Java
89 lines
1.6 KiB
Java
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<ScopeData>, Comparable<ScopeData> {
|
|
|
|
private static final long serialVersionUID = -8445665293115680236L;
|
|
private String id;
|
|
private String name;
|
|
private ArrayList<ScopeData> children;
|
|
|
|
public ScopeData() {
|
|
super();
|
|
}
|
|
|
|
public ScopeData(String id, String name, ArrayList<ScopeData> 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<ScopeData> getChildren() {
|
|
return children;
|
|
}
|
|
|
|
public void setChildren(ArrayList<ScopeData> 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 + "]";
|
|
}
|
|
|
|
} |