package com.spring.common.error;

import java.util.List;

import lombok.Getter;

import lombok.RequiredArgsConstructor;

/**
 * 오류 응답을 나타내는 추상 클래스입니다.
 * 
 * <p>이 클래스는 비즈니스 로직에서 발생한 오류에 대한 응답을 구성하는 데 사용됩니다.</p>
 * 
 * <p>각 오류 응답은 오류 규칙과 관련된 오류 목록을 포함할 수 있습니다.</p>
 * 
 * @author mindol
 * @version 1.0
 */
@Getter
@RequiredArgsConstructor
public abstract class ErrorResponse {

    /**
     * 오류 규칙을 나타내는 필드입니다.
     * 
     * <p>발생한 오류의 유형을 정의하는 ErrorRule 객체입니다.</p>
     */
    protected final ErrorRule errorRule;

    /**
     * 오류 목록을 나타내는 필드입니다.
     * 
     * <p>비즈니스 로직에서 발생한 오류에 대한 세부 정보를 포함합니다.</p>
     */
    protected List<RejectedValue> errors;

    protected String customMessage;
    
}
