package com.njcn.gather.tool.wave.pojo.param;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;

/**
 * 文本波形解析参数。
 */
@Data
@ApiModel("波形解析参数")
public class WaveParseParam {

    /** 波形文本内容。 */
    @ApiModelProperty(value = "波形文本内容，支持单列幅值、单行多值或双列时间/幅值数据", required = true)
    private String waveformText;

    /** 分隔符。 */
    @ApiModelProperty(value = "分隔符，默认 AUTO 自动识别，也支持 TAB、SPACE 或直接传入具体字符")
    private String separator;

    /** 是否显式包含 X 轴列。 */
    @ApiModelProperty(value = "是否包含 X 轴列，true 表示文本中显式传入时间列")
    private Boolean containsXAxis;

    /** X 轴列下标。 */
    @ApiModelProperty(value = "X 轴列下标，默认 0")
    private Integer xColumnIndex;

    /** Y 轴列下标。 */
    @ApiModelProperty(value = "Y 轴列下标，单列波形默认 0，双列波形默认 1")
    private Integer yColumnIndex;

    /** 跳过的表头行数。 */
    @ApiModelProperty(value = "跳过的表头行数，默认 0")
    private Integer skipHeaderLines;

    /** 单列波形采样间隔。 */
    @ApiModelProperty(value = "单列波形的采样间隔，默认 1")
    private BigDecimal samplingInterval;

    /** 最大返回点数。 */
    @ApiModelProperty(value = "返回的最大点位数，超过时自动下采样，默认 2000")
    private Integer maxPointCount;
}
