/*
 * This file is generated by jOOQ.
 */
package ru.micord.ervu_dashboard.db_beans.ervu_dashboard.tables.records;


import java.sql.Date;
import java.util.UUID;

import org.jooq.Record1;
import org.jooq.impl.UpdatableRecordImpl;

import ru.micord.ervu_dashboard.db_beans.ervu_dashboard.enums.TypePropertyType;
import ru.micord.ervu_dashboard.db_beans.ervu_dashboard.tables.Property;


/**
 * сведения об имуществе
 */
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class PropertyRecord extends UpdatableRecordImpl<PropertyRecord> {

    private static final long serialVersionUID = 1L;

    /**
     * Setter for <code>ervu_dashboard.property.property_id</code>.
     */
    public void setPropertyId(Long value) {
        set(0, value);
    }

    /**
     * Getter for <code>ervu_dashboard.property.property_id</code>.
     */
    public Long getPropertyId() {
        return (Long) get(0);
    }

    /**
     * Setter for <code>ervu_dashboard.property.recruit_id</code>. ссылка на
     * гражданина (citizen)
     */
    public void setRecruitId(UUID value) {
        set(1, value);
    }

    /**
     * Getter for <code>ervu_dashboard.property.recruit_id</code>. ссылка на
     * гражданина (citizen)
     */
    public UUID getRecruitId() {
        return (UUID) get(1);
    }

    /**
     * Setter for <code>ervu_dashboard.property.type_property</code>. тип
     * имущества: недвижимое/наземный/воздушный/водный транспорт
     */
    public void setTypeProperty(TypePropertyType value) {
        set(2, value);
    }

    /**
     * Getter for <code>ervu_dashboard.property.type_property</code>. тип
     * имущества: недвижимое/наземный/воздушный/водный транспорт
     */
    public TypePropertyType getTypeProperty() {
        return (TypePropertyType) get(2);
    }

    /**
     * Setter for <code>ervu_dashboard.property.start_date</code>. дата
     * регистрации права владения
     */
    public void setStartDate(Date value) {
        set(3, value);
    }

    /**
     * Getter for <code>ervu_dashboard.property.start_date</code>. дата
     * регистрации права владения
     */
    public Date getStartDate() {
        return (Date) get(3);
    }

    /**
     * Setter for <code>ervu_dashboard.property.close_date</code>. дата
     * прекращения права владения
     */
    public void setCloseDate(Date value) {
        set(4, value);
    }

    /**
     * Getter for <code>ervu_dashboard.property.close_date</code>. дата
     * прекращения права владения
     */
    public Date getCloseDate() {
        return (Date) get(4);
    }

    /**
     * Setter for <code>ervu_dashboard.property.vehicle_type</code>. вид
     * транспортного средства
     */
    public void setVehicleType(String value) {
        set(5, value);
    }

    /**
     * Getter for <code>ervu_dashboard.property.vehicle_type</code>. вид
     * транспортного средства
     */
    public String getVehicleType() {
        return (String) get(5);
    }

    /**
     * Setter for <code>ervu_dashboard.property.vehicle_category</code>.
     * категория транспортного средства
     */
    public void setVehicleCategory(String value) {
        set(6, value);
    }

    /**
     * Getter for <code>ervu_dashboard.property.vehicle_category</code>.
     * категория транспортного средства
     */
    public String getVehicleCategory() {
        return (String) get(6);
    }

    /**
     * Setter for <code>ervu_dashboard.property.address</code>. адрес объекта
     * недвижимости
     */
    public void setAddress(String value) {
        set(7, value);
    }

    /**
     * Getter for <code>ervu_dashboard.property.address</code>. адрес объекта
     * недвижимости
     */
    public String getAddress() {
        return (String) get(7);
    }

    /**
     * Setter for <code>ervu_dashboard.property.kind_right</code>. вид права
     */
    public void setKindRight(String value) {
        set(8, value);
    }

    /**
     * Getter for <code>ervu_dashboard.property.kind_right</code>. вид права
     */
    public String getKindRight() {
        return (String) get(8);
    }

    /**
     * Setter for <code>ervu_dashboard.property.issue_year</code>. год выпуска
     * транспортного средства
     */
    public void setIssueYear(String value) {
        set(9, value);
    }

    /**
     * Getter for <code>ervu_dashboard.property.issue_year</code>. год выпуска
     * транспортного средства
     */
    public String getIssueYear() {
        return (String) get(9);
    }

    /**
     * Setter for <code>ervu_dashboard.property.brand_model</code>. марка,
     * модель транспортного средства
     */
    public void setBrandModel(String value) {
        set(10, value);
    }

    /**
     * Getter for <code>ervu_dashboard.property.brand_model</code>. марка,
     * модель транспортного средства
     */
    public String getBrandModel() {
        return (String) get(10);
    }

    /**
     * Setter for <code>ervu_dashboard.property.reg_plate</code>.
     * регистрационный номер
     */
    public void setRegPlate(String value) {
        set(11, value);
    }

    /**
     * Getter for <code>ervu_dashboard.property.reg_plate</code>.
     * регистрационный номер
     */
    public String getRegPlate() {
        return (String) get(11);
    }

    /**
     * Setter for <code>ervu_dashboard.property.vin</code>.
     */
    public void setVin(String value) {
        set(12, value);
    }

    /**
     * Getter for <code>ervu_dashboard.property.vin</code>.
     */
    public String getVin() {
        return (String) get(12);
    }

    // -------------------------------------------------------------------------
    // Primary key information
    // -------------------------------------------------------------------------

    @Override
    public Record1<Long> key() {
        return (Record1) super.key();
    }

    // -------------------------------------------------------------------------
    // Constructors
    // -------------------------------------------------------------------------

    /**
     * Create a detached PropertyRecord
     */
    public PropertyRecord() {
        super(Property.PROPERTY);
    }

    /**
     * Create a detached, initialised PropertyRecord
     */
    public PropertyRecord(Long propertyId, UUID recruitId, TypePropertyType typeProperty, Date startDate, Date closeDate, String vehicleType, String vehicleCategory, String address, String kindRight, String issueYear, String brandModel, String regPlate, String vin) {
        super(Property.PROPERTY);

        setPropertyId(propertyId);
        setRecruitId(recruitId);
        setTypeProperty(typeProperty);
        setStartDate(startDate);
        setCloseDate(closeDate);
        setVehicleType(vehicleType);
        setVehicleCategory(vehicleCategory);
        setAddress(address);
        setKindRight(kindRight);
        setIssueYear(issueYear);
        setBrandModel(brandModel);
        setRegPlate(regPlate);
        setVin(vin);
        resetChangedOnNotNull();
    }
}
