package incheon.ags.mrb.analysis.vo.request;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;

import javax.validation.constraints.NotEmpty;

@Getter
@Setter
@Schema(description = "추출 요청")
public class ExtractRequestDTO extends AbstractAnalysisRequestDTO {

    @Schema(description = "추출에 사용될 필터 조건 문자열")
    @NotEmpty
    String filterString;

    @Schema(description = "선택적으로 추출할 쉼표로 구분된 속성명 (null이면 전체 속성 추출)")
    String attributeNames;


    @Override
    protected Object jsonPart() {
        return new Object() {
            public final String dissolveField = ExtractRequestDTO.this.filterString;
            public final String statisticsFields = ExtractRequestDTO.this.attributeNames;
        };
    }
}
