package org.ovirt.engine.core.bll.utils;
import java.util.Objects;
import org.ovirt.engine.core.common.VdcObjectType;
import org.ovirt.engine.core.common.businessentities.ActionGroup;
import org.ovirt.engine.core.common.errors.EngineMessage;
import org.ovirt.engine.core.compat.Guid;
public class PermissionSubject {
private Guid objectId;
private VdcObjectType ObjectType;
private ActionGroup actionGroup;
private EngineMessage message;
public PermissionSubject(Guid objectId, VdcObjectType objectType, ActionGroup actionGroup) {
this(objectId, objectType, actionGroup, EngineMessage.USER_NOT_AUTHORIZED_TO_PERFORM_ACTION);
}
public PermissionSubject(Guid objectId, VdcObjectType objectType, ActionGroup actionGroup,
EngineMessage message) {
this.objectId = objectId;
this.ObjectType = objectType;
this.actionGroup = actionGroup;
this.message = message;
}
public VdcObjectType getObjectType() {
return ObjectType;
}
public void setObjectType(VdcObjectType ObjectType) {
this.ObjectType = ObjectType;
}
public Guid getObjectId() {
return objectId;
}
public void setObjectId(Guid ObjectId) {
this.objectId = ObjectId;
}
public ActionGroup getActionGroup() {
return actionGroup;
}
public void setActionGroup(ActionGroup actionGroup) {
this.actionGroup = actionGroup;
}
public EngineMessage getMessage(){
return message;
}
@Override
public boolean equals(Object o) {
if (o == this) {
return true;
}
if (o instanceof PermissionSubject) {
PermissionSubject other = (PermissionSubject) o;
return Objects.equals(other.objectId, objectId) &&
Objects.equals(other.ObjectType, ObjectType) &&
Objects.equals(other.actionGroup, actionGroup);
}
return false;
}
@Override
public int hashCode() {
return Objects.hash(objectId, ObjectType, actionGroup);
}
}