package incheon.product.geoview2d.basemap.vo;

import incheon.com.cmm.ComDefaultVO;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import java.io.Serial;
import java.time.LocalDateTime;

/**
 * 배경지도 VO.
 * 테이블: iccom.bcrn_lyr
 */
@Getter @Setter
@EqualsAndHashCode(callSuper = true)
public class BasemapVO extends ComDefaultVO {

    @Serial
    private static final long serialVersionUID = 1L;

    @NotBlank
    @Size(max = 50)
    private String bcrnLyrId;

    @NotBlank
    @Size(max = 50)
    private String bcrnLyrTtl;

    @Size(max = 1000)
    private String sourcUrl;

    @Size(max = 1000)
    private String thmbUrl;

    @Size(max = 4000)
    private String cprgtCn;

    private Boolean useEn;

    private Boolean iconuseEn;

    private LocalDateTime crtYmd;
    private String crtId;
    private LocalDateTime chgYmd;
    private String chgId;

    public String getCprgtCnDecoded() {
        if (this.cprgtCn == null || this.cprgtCn.trim().isEmpty()) {
            return "";
        }
        return this.cprgtCn
                .replace("&copy;", "\u00A9")
                .replace("&reg;", "\u00AE")
                .replace("&trade;", "\u2122")
                .replace("&amp;", "&");
    }
}
