package com.flightticket.exception;

import lombok.Getter;

/**
 * Exception thrown when business rules are violated during modification
 * Requirements: 1.4, 9.1, 9.2, 9.3, 9.4, 9.5
 */
@Getter
public class BusinessRuleException extends RuntimeException {
    
    private final String ruleCode;
    private final Object details;
    
    public BusinessRuleException(String message) {
        super(message);
        this.ruleCode = null;
        this.details = null;
    }
    
    public BusinessRuleException(String message, String ruleCode) {
        super(message);
        this.ruleCode = ruleCode;
        this.details = null;
    }
    
    public BusinessRuleException(String message, String ruleCode, Object details) {
        super(message);
        this.ruleCode = ruleCode;
        this.details = details;
    }
}
