package cn.axzo.msg.center.service.pending.card.domain;

import cn.axzo.msg.center.service.enums.CardElementType;
import cn.axzo.msg.center.service.util.ValueUtils;
import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Getter;
import lombok.Setter;

/**
 * @author yanglin
 */
@Setter
@Getter
public class CardElementConfig {

    /**
     * 元素类型
     */
    private CardElementType type;

    /**
     * 元素名称
     */
    private String name;

    /**
     * 元素编码
     */
    private String code;

    /**
     * 元素值
     */
    private String value;

    /**
     * 是否已经启用. 只对模版的扩展字段有效，样式忽略这个字段
     */
    private boolean enabled;

    @JsonIgnore @JSONField(serialize = false, deserialize = false)
    public boolean isValueAbsent() {
        return ValueUtils.isValueAbsent(value);
    }
}