package org.aperteworkflow.editor.ui.permission; import org.aperteworkflow.editor.domain.Permission; /** * Definition of the permission, provides metadata to create the actual permission object */ public class PermissionDefinition implements Comparable<PermissionDefinition> { private String key; private String description; public PermissionDefinition() { } public PermissionDefinition(String key) { this.key = key; } public PermissionDefinition(String key, String description) { this.key = key; this.description = description; } public PermissionDefinition(Permission permission) { this.key = permission.getPrivilegeName(); } public String getDescription() { if (description == null) return "editor.permissions.description." + description; return description; } public void setDescription(String description) { this.description = description; } public String getKey() { return key; } public void setKey(String key) { this.key = key; } @Override public boolean equals(Object o) { if (this == o) return true; if (!(o instanceof PermissionDefinition)) return false; PermissionDefinition that = (PermissionDefinition) o; if (key != null ? !key.equals(that.key) : that.key != null) return false; return true; } @Override public int hashCode() { return key != null ? key.hashCode() : 0; } @Override public int compareTo(PermissionDefinition o) { if (o == null) return 1; if (key == null) { if (o.key == null) { return 0; } else{ return -1; } } return key.compareTo(o.key); } }