package backend.model;
import java.sql.*;

/**
 * DataItem类用于表示数据项的基本信息
 * 包含数据项的标识、标题、描述、分类、更新时间和用户ID等属性
 */
public class DataItem {
    private int id;
    private String title;
    private String description;
    private String category;
    private Date updateDate;
    private int userId;

    /**
     * 无参构造函数，创建一个空的数据项对象
     */
    public DataItem() {

    }

    /**
     * 有参构造函数，创建一个包含指定属性的数据项对象
     * @param id 数据项的唯一标识符
     * @param title 数据项的标题
     * @param description 数据项的详细描述
     * @param category 数据项所属的分类
     * @param updateDate 数据项的最后更新时间
     * @param userId 关联的用户ID
     */
    public DataItem(int id, String title, String description, String category, Date updateDate, int userId) {
        this.id = id;
        this.title = title;
        this.description = description;
        this.category = category;
        this.updateDate = updateDate;
        this.userId = userId;
    }

    /**
     * 获取数据项的ID
     * @return 返回数据项的唯一标识符
     */
    public int getId() {
        return id;
    }

    /**
     * 设置数据项的ID
     * @param id 要设置的数据项唯一标识符
     */
    public void setId(int id) {
        this.id = id;
    }

    /**
     * 获取数据项的标题
     * @return 返回数据项的标题
     */
    public String getTitle() {
        return title;
    }

    /**
     * 设置数据项的标题
     * @param title 要设置的数据项标题
     */
    public void setTitle(String title) {
        this.title = title;
    }

    /**
     * 获取数据项的描述
     * @return 返回数据项的详细描述
     */
    public String getDescription() {
        return description;
    }

    /**
     * 设置数据项的描述
     * @param description 要设置的数据项详细描述
     */
    public void setDescription(String description) {
        this.description = description;
    }

    /**
     * 获取数据项的分类
     * @return 返回数据项所属的分类
     */
    public String getCategory() {
        return category;
    }

    /**
     * 设置数据项的分类
     * @param category 要设置的数据项分类
     */
    public void setCategory(String category) {
        this.category = category;
    }

    /**
     * 获取数据项的更新时间
     * @return 返回数据项的最后更新时间
     */
    public Date getUpdateDate() {
        return updateDate;
    }

    /**
     * 设置数据项的更新时间
     * @param updateDate 要设置的数据项最后更新时间
     */
    public void setUpdateDate(Date updateDate) {
        this.updateDate = updateDate;
    }

    /**
     * 获取关联的用户ID
     * @return 返回关联的用户唯一标识符
     */
    public int getUserId() {
        return userId;
    }

    /**
     * 设置关联的用户ID
     * @param userId 要设置的用户唯一标识符
     */
    public void setUserId(int userId) {
        this.userId = userId;
    }
}
