package com.cmvr.system.domain.vo;

import lombok.Data;

/**
 * CarIcon类代表汽车图标的信息和属性
 * 它是一个数据模型类，用于封装汽车图标的各项属性，便于在程序中传递和处理
 * 同一个icon可能存在多张图片
 * 说明：
 * iconFeature 和 jump 只能有一个有值，描述着这个icon是功能还是路由
 * 都存在情况，优先使用iconFeature
 */
@Data
public class CarIcon {
    /**
     * 图标名称，用于标识图标的字符串
     */
    private String iconName;

    /**
     * 图标图片名称
     */
    private String iconImage;

    /**
     * 图标描述，用于补充没有图标图片的图标或者图标的其他特殊情况
     */
    private String iconDesc;

    /**
     * 图标特性，描述图标的功能
     */
    private String iconFeature;

    /**
     * 当用户点击图标时跳转的目标ui
     */
    private String jump;

    /**
     * 构造一个新的CarIcon实例
     *
     * @param iconName 图标名称
     * @param iconImage 图标图片名称
     * @param iconDesc 图标描述
     * @param iconFeature 图标特性
     * @param jump 跳转路由
     */
    public CarIcon(String iconName, String iconImage, String iconDesc, String iconFeature, String jump) {
        this.iconName = iconName;
        this.iconImage = iconImage;
        this.iconDesc = iconDesc;
        this.iconFeature = iconFeature;
        this.jump = jump;
    }
}
