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; } }