package gov.nysenate.openleg.model.agenda;
import gov.nysenate.openleg.model.bill.BillId;
import java.io.Serializable;
import java.util.Objects;
/**
* An AgendaInfoCommitteeItem indicates a specific bill that will be brought up for consideration.
*/
public class AgendaInfoCommitteeItem implements Serializable
{
private static final long serialVersionUID = -8904159113309808493L;
/** Reference to the bill id associated with the bill being considered */
private BillId billId;
/** An optional message associated with this item. */
private String message;
/** --- Constructors --- */
public AgendaInfoCommitteeItem() {}
public AgendaInfoCommitteeItem(BillId billId, String message) {
this();
this.setBillId(billId);
this.setMessage(message);
}
/** --- Overrides --- */
@Override
public boolean equals(Object obj) {
if (this == obj) return true;
if (obj == null || getClass() != obj.getClass()) return false;
final AgendaInfoCommitteeItem other = (AgendaInfoCommitteeItem) obj;
return Objects.equals(this.billId, other.billId) &&
Objects.equals(this.message, other.message);
}
@Override
public int hashCode() {
return Objects.hash(billId, message);
}
/** --- Basic Getters/Setters --- */
public BillId getBillId() {
return billId;
}
public void setBillId(BillId billId) {
this.billId = billId;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}