package com.its.vms.xnettcp.vms.protocol.dto;

import lombok.Data;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

@Data
public class VmsFormDto implements Serializable {
    private static final long serialVersionUID = 1L;

    private int formNo;     // 폼 번호, 폼 표출 일련번호,            2 N
    private int dispSec;    // 표출시간, 폼의 표출시간을 지정,       1 N, 0x00 이면 계속 표출
    private int dispType;   // 표출유형, 폼의 표출유형을 지정,       1 N, 폼 표출유형(별첨)
    private int bkClr;      // 배경 색상, 폼의 배경색을 지정,        1 N, 폼 배경색상(별첨-배경색상)
    private int objCnt;     // 오브젝트 수, 표출할 오브젝트 전체 수, 1 N

    private List<VmsFormObj> objList; // 폼 목록

    public VmsFormDto(int formNo, int dispSec, int dispType, int bkClr, int objCnt) {
        this.formNo = formNo;
        this.dispSec = dispSec;
        this.dispType = dispType;
        this.bkClr = bkClr;
        this.objCnt = objCnt;
        this.objList = new ArrayList<>();
    }

    /**
     * 폼에 객체를 추가한다.
     * @param formObj
     * @return
     */
    public void addObject(VmsFormObj formObj) {
        this.objList.add(formObj);
    }

    public void calObjCount() {
        this.objCnt = this.objList.size();
    }
}
