package incheon.product.geoview3d.simulation.vo;

import com.fasterxml.jackson.annotation.JsonRawValue;
import com.fasterxml.jackson.databind.JsonNode;
import incheon.com.cmm.ComDefaultVO;
import lombok.Getter;
import lombok.Setter;

import java.io.Serial;

@Getter @Setter
public class SubwayVO extends ComDefaultVO {
    @Serial
    private static final long serialVersionUID = 1L;

    private Integer subwayId;
    private String subwayName;
    private String subwayCode;
    private String routeNameKo;
    private String routeNameEn;

    @JsonRawValue
    private String geom;

    private SubwayStationShpVO[] stationShapes;
    private SubwayStationVO[] stations;
    private SubwayExitVO[] exits;

    @Getter @Setter
    public static class SubwayStationShpVO {
        private String stationId;
        private String name;
        private JsonNode geom;
    }

    @Getter @Setter
    public static class SubwayStationVO {
        private String stationId;
        private String name;
        private String routeName;
        private JsonNode geom;
    }

    @Getter @Setter
    public static class SubwayExitVO {
        private String exitId;
        private String exitName;
        private JsonNode geom;
    }
}
