package org.ovirt.engine.core.common.businessentities; import java.io.Serializable; import javax.persistence.Embeddable; import org.hibernate.annotations.Type; import org.hibernate.annotations.TypeDef; import org.ovirt.engine.core.common.businessentities.mapping.GuidType; import org.ovirt.engine.core.compat.Guid; @Embeddable @TypeDef(name = "guid", typeClass = GuidType.class) public class RoleGroupMapId implements Serializable { private static final long serialVersionUID = 2602534834702940699L; Integer actionGroup; @Type(type = "guid") Guid roleId; public RoleGroupMapId() { } public RoleGroupMapId(Guid roleId, ActionGroup actionGroup) { this.roleId = roleId; this.actionGroup = actionGroup.getId(); } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((actionGroup == null) ? 0 : actionGroup.hashCode()); result = prime * result + ((roleId == null) ? 0 : roleId.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; RoleGroupMapId other = (RoleGroupMapId) obj; if (actionGroup == null) { if (other.actionGroup != null) return false; } else if (!actionGroup.equals(other.actionGroup)) return false; if (roleId == null) { if (other.roleId != null) return false; } else if (!roleId.equals(other.roleId)) return false; return true; } }