package com.spring.infra.batch;

import lombok.Getter;
import lombok.RequiredArgsConstructor;

/**
 * 배치 작업에 대한 정보를 저장하는 데이터 클래스입니다.
 * 
 * <p>이 클래스는 배치 작업의 메타데이터를 포함하며,
 * 배치 작업의 이름, 그룹, 설명 및 cron 표현식 등을 저장합니다.</p>
 * 
 * <p>배치 작업의 실행 및 관리에 필요한 정보를 제공하는 역할을 합니다.</p>
 * 
 * @author mindol
 * @version 1.0
 */
@Getter
@RequiredArgsConstructor
public class BatchJobInfoData {
    
    /**
     * 배치 작업의 그룹 이름입니다.
     * 
     * <p>배치 작업이 속하는 그룹을 식별하는 데 사용됩니다.</p>
     */
    private final String jobGroup;

    /**
     * 배치 작업의 이름입니다.
     * 
     * <p>각 배치 작업을 고유하게 식별하는 이름입니다.</p>
     */
    private final String jobName;

    /**
     * 배치 작업의 cron 표현식입니다.
     * 
     * <p>배치 작업의 실행 주기를 정의하는 cron 표현식입니다.</p>
     */
    private final String cronExpression;

    /**
     * 배치 작업에 대한 설명입니다.
     * 
     * <p>배치 작업의 목적이나 기능에 대한 설명을 포함합니다.</p>
     */
    private final String description;
}
