package org.pentaho.platform.api.repository;
import java.util.EnumSet;
public class RepositoryFileAce {
private RepositoryFileSid recipient;
private EnumSet<RepositoryFilePermission> permissions;
public RepositoryFileAce(final RepositoryFileSid recipient, final RepositoryFilePermission first,
final RepositoryFilePermission... rest) {
this(recipient, EnumSet.of(first, rest));
}
public RepositoryFileAce(final RepositoryFileSid recipient, final EnumSet<RepositoryFilePermission> permissions) {
super();
this.recipient = recipient;
this.permissions = permissions;
}
public RepositoryFileSid getSid() {
return recipient;
}
public EnumSet<RepositoryFilePermission> getPermissions() {
return permissions;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((permissions == null) ? 0 : permissions.hashCode());
result = prime * result + ((recipient == null) ? 0 : recipient.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
RepositoryFileAce other = (RepositoryFileAce) obj;
if (permissions == null) {
if (other.permissions != null)
return false;
} else if (!permissions.equals(other.permissions))
return false;
if (recipient == null) {
if (other.recipient != null)
return false;
} else if (!recipient.equals(other.recipient))
return false;
return true;
}
@Override
public String toString() {
return "RepositoryFileAce[recipient=" + recipient + ", permissions=" + permissions + "]";
}
}