package com.constellio.app.modules.rm.wrappers;
import com.constellio.app.modules.rm.model.enums.DecommissioningType;
import com.constellio.app.modules.rm.wrappers.structures.Comment;
import com.constellio.app.modules.rm.wrappers.type.ContainerRecordType;
import com.constellio.model.entities.records.Record;
import com.constellio.model.entities.records.wrappers.RecordWrapper;
import com.constellio.model.entities.records.wrappers.User;
import com.constellio.model.entities.schemas.MetadataSchemaTypes;
import org.joda.time.LocalDate;
import java.util.List;
public class ContainerRecord extends RecordWrapper {
public static final String SCHEMA_TYPE = "containerRecord";
public static final String DEFAULT_SCHEMA = SCHEMA_TYPE + "_default";
public static final String LOCALIZATION = "localization";
public static final String ADMINISTRATIVE_UNIT = "administrativeUnit";
public static final String ADMINISTRATIVE_UNITS = "administrativeUnits";
public static final String COMPLETION_DATE = "completionDate";
public static final String DECOMMISSIONING_TYPE = "decommissioningType";
public static final String DESCRIPTION = "description";
public static final String FILING_SPACE = "filingSpace";
public static final String FULL = "full";
public static final String IDENTIFIER = "identifier";
public static final String PLANIFIED_RETURN_DATE = "planifiedReturnDate";
public static final String REAL_DEPOSIT_DATE = "realDepositDate";
public static final String REAL_RETURN_DATE = "realReturnDate";
public static final String REAL_TRANSFER_DATE = "realTransferDate";
public static final String STORAGE_SPACE = "storageSpace";
public static final String TEMPORARY_IDENTIFIER = "temporaryIdentifier";
public static final String TYPE = "type";
public static final String POSITION = "position";
public static final String COMMENTS = "comments";
public static final String BORROWED = "borrowed";
public static final String BORROW_DATE = "borrowDate";
public static final String BORROWER = "borrower";
public static final String BORROW_RETURN_DATE = "borrowReturnDate";
public static final String CAPACITY = "capacity";
public static final String FILL_RATIO_ENTRED = "fillRatioEntered";
public static final String LINEAR_SIZE_ENTERED = "linearSizeEntered";
public static final String LINEAR_SIZE = "linearSize";
public static final String LINEAR_SIZE_SUM = "linearSizeSum";
public static final String AVAILABLE_SIZE = "availableSize";
public static final String FIRST_TRANSFER_REPORT_DATE = "firstTransferReportDate";
public static final String FIRST_DEPOSIT_REPORT_DATE = "firstDepositReportDate";
public ContainerRecord(Record record,
MetadataSchemaTypes types) {
super(record, types, SCHEMA_TYPE);
}
public ContainerRecord setTitle(String title) {
super.setTitle(title);
return this;
}
public String getDescription() {
return get(DESCRIPTION);
}
public ContainerRecord setDescription(String description) {
set(DESCRIPTION, description);
return this;
}
public String getLocalization() {
return get(LOCALIZATION);
}
public Double getCapacity() {
return get(CAPACITY);
}
public ContainerRecord setCapacity(long capacity) {
set(CAPACITY, capacity);
return this;
}
public ContainerRecord setCapacity(Double capacity) {
set(CAPACITY, capacity);
return this;
}
public Double getFillRatioEntered() {
return get(FILL_RATIO_ENTRED);
}
public ContainerRecord setFillRatioEntered(Double fillRatioEntered) {
set(FILL_RATIO_ENTRED, fillRatioEntered);
return this;
}
public String getTemporaryIdentifier() {
return get(TEMPORARY_IDENTIFIER);
}
public ContainerRecord setTemporaryIdentifier(String temporaryIdentifier) {
set(TEMPORARY_IDENTIFIER, temporaryIdentifier);
return this;
}
public String getIdentifier() {
return get(IDENTIFIER);
}
public ContainerRecord setIdentifier(String identifier) {
set(IDENTIFIER, identifier);
return this;
}
public String getType() {
return get(TYPE);
}
public ContainerRecord setType(Record type) {
set(TYPE, type);
return this;
}
public ContainerRecord setType(String type) {
set(TYPE, type);
return this;
}
public ContainerRecord setType(ContainerRecordType type) {
set(TYPE, type);
return this;
}
public String getStorageSpace() {
return get(STORAGE_SPACE);
}
public ContainerRecord setStorageSpace(Record storageSpace) {
set(STORAGE_SPACE, storageSpace);
return this;
}
public ContainerRecord setStorageSpace(String storageSpace) {
set(STORAGE_SPACE, storageSpace);
return this;
}
public ContainerRecord setStorageSpace(StorageSpace storageSpace) {
set(STORAGE_SPACE, storageSpace);
return this;
}
public String getBorrower() {
return get(BORROWER);
}
public ContainerRecord setBorrower(Record borrower) {
set(BORROWER, borrower);
return this;
}
public ContainerRecord setBorrower(String borrower) {
set(BORROWER, borrower);
return this;
}
public ContainerRecord setBorrower(User borrower) {
set(BORROWER, borrower);
return this;
}
public DecommissioningType getDecommissioningType() {
return get(DECOMMISSIONING_TYPE);
}
public ContainerRecord setDecommissioningType(DecommissioningType type) {
set(DECOMMISSIONING_TYPE, type);
return this;
}
public Boolean isFull() {
return get(FULL);
}
public ContainerRecord setFull(Boolean full) {
set(FULL, full);
return this;
}
public String getAdministrativeUnit() {
return get(ADMINISTRATIVE_UNIT);
}
public ContainerRecord setAdministrativeUnit(Record administrativeUnit) {
set(ADMINISTRATIVE_UNIT, administrativeUnit);
return this;
}
public ContainerRecord setAdministrativeUnit(String administrativeUnit) {
set(ADMINISTRATIVE_UNIT, administrativeUnit);
return this;
}
public ContainerRecord setAdministrativeUnit(AdministrativeUnit administrativeUnit) {
set(ADMINISTRATIVE_UNIT, administrativeUnit);
return this;
}
public List<String> getAdministrativeUnits() {
return get(ADMINISTRATIVE_UNITS);
}
public ContainerRecord setAdministrativeUnits(List<?> administrativeUnits) {
set(ADMINISTRATIVE_UNITS, administrativeUnits);
return this;
}
public String getFilingSpace() {
return get(FILING_SPACE);
}
public ContainerRecord setFilingSpace(Record filingSpace) {
set(FILING_SPACE, filingSpace);
return this;
}
public ContainerRecord setFilingSpace(String filingSpace) {
set(FILING_SPACE, filingSpace);
return this;
}
public ContainerRecord setFilingSpace(FilingSpace filingSpace) {
set(FILING_SPACE, filingSpace);
return this;
}
public LocalDate getCompletionDate() {
return get(COMPLETION_DATE);
}
public ContainerRecord setCompletionDate(LocalDate completionDate) {
set(COMPLETION_DATE, completionDate);
return this;
}
public LocalDate getRealDepositDate() {
return get(REAL_DEPOSIT_DATE);
}
public ContainerRecord setRealDepositDate(LocalDate realDepositDate) {
set(REAL_DEPOSIT_DATE, realDepositDate);
return this;
}
public LocalDate getRealTransferDate() {
return get(REAL_TRANSFER_DATE);
}
public ContainerRecord setRealTransferDate(LocalDate realTransferDate) {
set(REAL_TRANSFER_DATE, realTransferDate);
return this;
}
public LocalDate getBorrowDate() {
return get(BORROW_DATE);
}
public ContainerRecord setBorrowDate(LocalDate borrowDate) {
set(BORROW_DATE, borrowDate);
return this;
}
public LocalDate getRealReturnDate() {
return get(REAL_RETURN_DATE);
}
public ContainerRecord setRealReturnDate(LocalDate realReturnDate) {
set(REAL_RETURN_DATE, realReturnDate);
return this;
}
public LocalDate getPlanifiedReturnDate() {
return get(PLANIFIED_RETURN_DATE);
}
public ContainerRecord setPlanifiedReturnDate(LocalDate planifiedReturnDate) {
set(PLANIFIED_RETURN_DATE, planifiedReturnDate);
return this;
}
public String getPosition() {
return get(POSITION);
}
public ContainerRecord setPosition(String position) {
set(POSITION, position);
return this;
}
public List<Comment> getComments() {
return getList(COMMENTS);
}
public ContainerRecord setComments(List<Comment> comments) {
set(COMMENTS, comments);
return this;
}
public Boolean getBorrowed() {
return get(BORROWED);
}
public ContainerRecord setBorrowed(Boolean borrowed) {
set(BORROWED, borrowed);
return this;
}
public Double getLinearSizeEntered() {
return get(LINEAR_SIZE_ENTERED);
}
public ContainerRecord setLinearSizeEntered(double linearSizeEntered) {
set(LINEAR_SIZE_ENTERED, linearSizeEntered);
return this;
}
public Double getLinearSizeSum() {
return get(LINEAR_SIZE_SUM);
}
public Double getLinearSize() {
return get(LINEAR_SIZE);
}
public Double getAvailableSize() {
return get(AVAILABLE_SIZE);
}
public LocalDate getFirstTransferReportDate() {
return get(FIRST_TRANSFER_REPORT_DATE);
}
public ContainerRecord setFirstTransferReportDate(LocalDate firstTransferReportDate) {
if(getFirstTransferReportDate() == null) {
set(FIRST_TRANSFER_REPORT_DATE, firstTransferReportDate);
}
return this;
}
public LocalDate getFirstDepositReportDate() {
return get(FIRST_DEPOSIT_REPORT_DATE);
}
public ContainerRecord setFirstDepositReportDate(LocalDate firstDepositReportDate) {
if(getFirstDepositReportDate() == null) {
set(FIRST_DEPOSIT_REPORT_DATE, firstDepositReportDate);
}
return this;
}
public static ContainerRecord wrap(Record record, MetadataSchemaTypes types) {
return record == null ? null : new ContainerRecord(record, types);
}
}