package gov.nysenate.openleg.client.view.bill;
import com.fasterxml.jackson.annotation.JsonIgnore;
import gov.nysenate.openleg.client.view.base.ViewObject;
import gov.nysenate.openleg.model.base.SessionYear;
import gov.nysenate.openleg.model.bill.BaseBillId;
import gov.nysenate.openleg.model.bill.BillId;
import java.util.Optional;
public class BaseBillIdView implements ViewObject
{
protected String basePrintNo;
protected int session;
protected String basePrintNoStr;
protected BaseBillIdView() {}
public BaseBillIdView(BillId billId) {
if (billId != null) {
this.basePrintNo = billId.getBasePrintNo();
this.session = Optional.ofNullable(billId.getSession())
.map(SessionYear::getYear).orElse(null);
this.basePrintNoStr = BaseBillId.of(billId).toString();
}
}
@JsonIgnore
public BaseBillId toBaseBillId() {
return new BaseBillId(basePrintNo, session);
}
@Override
public String getViewType() {
return "base-bill-id";
}
public String getBasePrintNo() {
return basePrintNo;
}
public int getSession() {
return session;
}
public String getBasePrintNoStr() {
return basePrintNoStr;
}
}