package de.gecheckt.pdf.umbenenner.adapter.out.configuration;

/**
 * Exception thrown when configuration loading or parsing fails.
 * <p>
 * This exception covers all failures related to loading, reading, or parsing the configuration,
 * including:
 * <ul>
 *   <li>I/O failures when reading the configuration file</li>
 *   <li>Missing required properties</li>
 *   <li>Invalid property values (e.g., unparseable integers, invalid URIs)</li>
 * </ul>
 * <p>
 * This is a controlled failure mode that prevents processing from starting.
 */
public class ConfigurationLoadingException extends RuntimeException {

    private static final long serialVersionUID = 1L;

    /**
     * Creates the exception with an error message.
     *
     * @param message the error message describing what failed during configuration loading
     */
    public ConfigurationLoadingException(String message) {
        super(message);
    }

    /**
     * Creates the exception with an error message and a cause.
     *
     * @param message the error message describing what failed during configuration loading
     * @param cause   the underlying exception that caused the configuration failure
     */
    public ConfigurationLoadingException(String message, Throwable cause) {
        super(message, cause);
    }
}
