NIHVIVO-3523 Override equals() and hashCode() to make these Identifiers more flexible and more testable.
This commit is contained in:
parent
59f3cb6311
commit
5ca2848946
2 changed files with 55 additions and 3 deletions
|
@ -14,7 +14,7 @@ import edu.cornell.mannlib.vitro.webapp.auth.permissions.Permission;
|
||||||
* The current user has this Permission, through one or more PermissionSets.
|
* The current user has this Permission, through one or more PermissionSets.
|
||||||
*/
|
*/
|
||||||
public class HasPermission extends AbstractCommonIdentifier implements
|
public class HasPermission extends AbstractCommonIdentifier implements
|
||||||
Identifier {
|
Identifier, Comparable<HasPermission> {
|
||||||
public static Collection<HasPermission> getIdentifiers(IdentifierBundle ids) {
|
public static Collection<HasPermission> getIdentifiers(IdentifierBundle ids) {
|
||||||
return getIdentifiersForClass(ids, HasPermission.class);
|
return getIdentifiersForClass(ids, HasPermission.class);
|
||||||
}
|
}
|
||||||
|
@ -27,9 +27,12 @@ public class HasPermission extends AbstractCommonIdentifier implements
|
||||||
return set;
|
return set;
|
||||||
}
|
}
|
||||||
|
|
||||||
private final Permission permission;
|
private final Permission permission; // never null
|
||||||
|
|
||||||
public HasPermission(Permission permission) {
|
public HasPermission(Permission permission) {
|
||||||
|
if (permission == null) {
|
||||||
|
throw new NullPointerException("permission may not be null.");
|
||||||
|
}
|
||||||
this.permission = permission;
|
this.permission = permission;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -41,4 +44,29 @@ public class HasPermission extends AbstractCommonIdentifier implements
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return "HasPermission[" + permission + "]";
|
return "HasPermission[" + permission + "]";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
return permission.hashCode();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equals(Object obj) {
|
||||||
|
if (obj == this) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (obj == null) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (!(obj instanceof HasPermission)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
HasPermission that = (HasPermission) obj;
|
||||||
|
return this.permission.equals(that.permission);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int compareTo(HasPermission that) {
|
||||||
|
return this.permission.compareTo(that.permission);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,9 +25,13 @@ public class IsUser extends AbstractCommonIdentifier implements Identifier {
|
||||||
return set;
|
return set;
|
||||||
}
|
}
|
||||||
|
|
||||||
private final String uri;
|
private final String uri; // never null
|
||||||
|
|
||||||
public IsUser(String uri) {
|
public IsUser(String uri) {
|
||||||
|
if (uri == null) {
|
||||||
|
throw new NullPointerException("uri may not be null.");
|
||||||
|
}
|
||||||
|
|
||||||
this.uri = uri;
|
this.uri = uri;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -35,6 +39,26 @@ public class IsUser extends AbstractCommonIdentifier implements Identifier {
|
||||||
return uri;
|
return uri;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
return uri.hashCode();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equals(Object obj) {
|
||||||
|
if (obj == this) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (obj == null) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (!(obj instanceof IsUser)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
IsUser that = (IsUser) obj;
|
||||||
|
return this.uri.equals(that.uri);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return "IsUser[" + uri + "]";
|
return "IsUser[" + uri + "]";
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue