workspace-tree-widget/src/main/java/org/gcube/portlets/user/workspace/client/model/InfoContactModel.java

105 lines
2.3 KiB
Java

package org.gcube.portlets.user.workspace.client.model;
import java.io.Serializable;
import java.util.Comparator;
import com.extjs.gxt.ui.client.data.BaseModelData;
/**
* @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it
*
*/
public class InfoContactModel extends BaseModelData implements Serializable {
/**
*
*/
private static final long serialVersionUID = 5439804025263802843L;
protected static final String ID = "id";
public static final String FULLNAME = "fullname";
public static final String LOGIN = "login";
public static final String ISGROUP = "isgroup";
public InfoContactModel() {}
public InfoContactModel(String id, String login, String fullName, boolean isGroup) {
setId(id);
setLogin(login);
setName(fullName);
setIsGroup(isGroup);
}
/**
* @param isGroup
*/
public void setIsGroup(boolean isGroup) {
set(ISGROUP,isGroup);
}
/**
* @param isGroup
*/
public boolean isGroup() {
return (Boolean) get(ISGROUP);
}
public void setName(String name) {
set(FULLNAME,name);
}
public String getName(){
String name = (String) (get(FULLNAME)!=null?get(FULLNAME):"");
return name;
}
public String getId() {
return get(ID);
}
public void setId(String id) {
set(ID, id);
}
public String getLogin() {
return get(LOGIN);
}
public void setLogin(String login) {
set(LOGIN, login);
}
public static Comparator<InfoContactModel> COMPARATORFULLNAME = new Comparator<InfoContactModel>() {
// This is where the sorting happens.
public int compare(InfoContactModel o1, InfoContactModel o2) {
return o1.getName().compareToIgnoreCase(o2.getName());
}
};
public static Comparator<InfoContactModel> COMPARATORLOGINS = new Comparator<InfoContactModel>() {
// This is where the sorting happens.
public int compare(InfoContactModel o1, InfoContactModel o2) {
return o1.getLogin().compareToIgnoreCase(o2.getLogin());
}
};
@Override
public String toString() {
StringBuilder builder = new StringBuilder();
builder.append("InfoContactModel [isGroup()=");
builder.append(isGroup());
builder.append(", getName()=");
builder.append(getName());
builder.append(", getId()=");
builder.append(getId());
builder.append(", getLogin()=");
builder.append(getLogin());
builder.append("]");
return builder.toString();
}
}