package gov.nysenate.openleg.model.bill;
import com.google.common.collect.ComparisonChain;
import gov.nysenate.openleg.model.base.BaseLegislativeContent;
import java.io.Serializable;
import java.time.LocalDate;
public class VetoMessage extends BaseLegislativeContent implements Serializable, Comparable<VetoMessage>
{
private static final long serialVersionUID = 8761376058922061047L;
/** The id of the vetoed bill */
private BaseBillId billId;
/** The veto id, good for a single year */
private int vetoNumber;
/** The full text of the memo */
private String memoText;
/** True if the veto is a line veto */
private VetoType type;
/** The chapter of law that the bill would affect */
private int chapter;
/** The page of the bill containing the vetoed section */
private int billPage;
/** The beginning of the vetoed bill section */
private int lineStart;
/** The end of the vetoed bill section */
private int lineEnd;
/** The name of the governor who signed the bill */
private String signer;
/** The date that the veto memo was signed */
private LocalDate signedDate;
/* --- Constructors --- */
public VetoMessage(){
super();
}
/* --- Overrides --- */
@Override
public int compareTo(VetoMessage o) {
return ComparisonChain.start()
.compare(this.year, o.year)
.compare(this.vetoNumber, o.vetoNumber)
.result();
}
/* --- Functional Getters/Setters --- */
public VetoId getVetoId(){
return new VetoId(this.year, this.vetoNumber);
}
/* --- Basic Getters/Setters --- */
public BaseBillId getBillId() {
return billId;
}
public void setBillId(BaseBillId billId) {
this.billId = billId;
}
public int getVetoNumber() {
return vetoNumber;
}
public void setVetoNumber(int vetoNumber) {
this.vetoNumber = vetoNumber;
}
public String getMemoText() {
return memoText;
}
public void setMemoText(String memoText) {
this.memoText = memoText;
}
public VetoType getType() {
return type;
}
public void setType(VetoType type) {
this.type = type;
}
public int getChapter() {
return chapter;
}
public void setChapter(int chapter) {
this.chapter = chapter;
}
public int getBillPage() {
return billPage;
}
public void setBillPage(int billPage) {
this.billPage = billPage;
}
public int getLineStart() {
return lineStart;
}
public void setLineStart(int lineStart) {
this.lineStart = lineStart;
}
public int getLineEnd() {
return lineEnd;
}
public void setLineEnd(int lineEnd) {
this.lineEnd = lineEnd;
}
public String getSigner() {
return signer;
}
public void setSigner(String signer) {
this.signer = signer;
}
public LocalDate getSignedDate() {
return signedDate;
}
public void setSignedDate(LocalDate signedDate) {
this.signedDate = signedDate;
}
}