package gov.nysenate.openleg.model.entity;
import com.google.common.base.Objects;
/**
* Represents a person holding a specific office
*/
public class Member extends Person {
/** Unique member id generated by the persistence layer. */
protected int memberId;
/** The legislative chamber this member is associated with. */
protected Chamber chamber;
public Member() { }
public Member(int memberId) {
this.memberId = memberId;
}
public Member(Member member) {
super(member);
this.memberId = member.memberId;
this.chamber = member.chamber;
}
/** --- Overrides --- */
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof Member)) return false;
if (!super.equals(o)) return false;
Member member = (Member) o;
return memberId == member.memberId &&
chamber == member.chamber;
}
@Override
public int hashCode() {
return Objects.hashCode(super.hashCode(), memberId, chamber);
}
/** --- Getters / Setters --- */
public int getMemberId() {
return memberId;
}
public void setMemberId(int memberId) {
this.memberId = memberId;
}
public Chamber getChamber() {
return chamber;
}
public void setChamber(Chamber chamber) {
this.chamber = chamber;
}
}