package gov.nysenate.openleg.model.spotcheck.daybreak;
import com.google.common.base.MoreObjects;
import gov.nysenate.openleg.model.bill.BillId;
import java.time.LocalDate;
import java.util.Map;
/**
* A fragment of a daybreak report file. Contains information pertaining to a single bill and its amendments
* DaybreakFragments are parsed into DaybreakBills
* @see DaybreakBill
*/
public class DaybreakFragment {
/** The id of the associated bill's current amendment */
private BillId billId;
/** The date that this fragment's report was received */
private LocalDate reportDate;
/** The file that this fragment was parsed from */
private DaybreakFile daybreakFile;
/** The text for this daybreak entry, to be parsed */
private String daybreakText;
/** A list containing all page file entries associated with this bill keyed by an amendment id*/
private Map<BillId, PageFileEntry> pageFileEntries;
/** --- Constructors --- */
public DaybreakFragment(BillId billId, DaybreakFile daybreakFile, String daybreakText ) {
this.daybreakFile = daybreakFile;
this.daybreakText = daybreakText;
this.billId = billId;
this.reportDate = daybreakFile.getReportDate();
}
/** --- Overrides --- */
@Override
public String toString() {
return MoreObjects.toStringHelper(this)
.add("BillId", billId)
.add("DayBreakFile", daybreakFile)
.toString();
}
/** --- Functional Getters/Setters --- */
public DaybreakBillId getDaybreakBillId(){
return new DaybreakBillId(BillId.getBaseId(billId), reportDate);
}
/** --- Basic Getters/Setters --- */
public BillId getBillId() {
return billId;
}
public void setBillId(BillId billId) {
this.billId = billId;
}
public LocalDate getReportDate() {
return reportDate;
}
public void setReportDate(LocalDate reportDate) {
this.reportDate = reportDate;
}
public DaybreakFile getDaybreakFile() {
return daybreakFile;
}
public void setDaybreakFile(DaybreakFile daybreakFile) {
this.daybreakFile = daybreakFile;
}
public String getDaybreakText() {
return daybreakText;
}
public void setDaybreakText(String daybreakText) {
this.daybreakText = daybreakText;
}
public Map<BillId, PageFileEntry> getPageFileEntries() {
return pageFileEntries;
}
public void setPageFileEntries(Map<BillId, PageFileEntry> pageFileEntries) {
this.pageFileEntries = pageFileEntries;
}
}