package org.eclipse.emf.emfstore.server.accesscontrol;
import java.io.Serializable;
/**
*
* @author boehlke
*
*/
public class Permission implements Serializable {
private static final long serialVersionUID = 8741152772777456754L;
private String id;
private String projectId;
public Permission(String id) {
this.id = id;
}
public Permission(String id, String projectId) {
this(id);
this.projectId = projectId;
}
public String getProjectId() {
return projectId;
}
public String getId() {
return id;
}
public boolean isProjectPermission() {
return projectId != null;
}
@Override
public int hashCode() {
return (getProjectId() == null ? getId().hashCode() : getId().hashCode() + getProjectId().hashCode())
+ (isProjectPermission() ? 1 : 0);
}
@Override
public boolean equals(Object obj) {
if (obj instanceof Permission) {
Permission otherPermission = (Permission) obj;
boolean equalProjectId = otherPermission.getProjectId() == null ? getProjectId() == null : otherPermission
.getProjectId().equals(getProjectId());
return equalProjectId && otherPermission.getId().equals(getId());
}
return super.equals(obj);
}
@Override
public String toString() {
return id + (projectId == null ? "" : " in " + projectId);
}
}