    001/*
    002 * Licensed to the Apache Software Foundation (ASF) under one or more
    003 * contributor license agreements.  See the NOTICE file distributed with
    004 * this work for additional information regarding copyright ownership.
    005 * The ASF licenses this file to You under the Apache License, Version 2.0
    006 * (the "License"); you may not use this file except in compliance with
    007 * the License.  You may obtain a copy of the License at
    008 *
    009 *     http://www.apache.org/licenses/LICENSE-2.0
    010 *
    011 * Unless required by applicable law or agreed to in writing, software
    012 * distributed under the License is distributed on an "AS IS" BASIS,
    013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    014 * See the License for the specific language governing permissions and
    015 * limitations under the License.
    016 */
    017
    018package org.apache.commons.configuration2.ex;
    019
    020
    021/**
    022 * A configuration related runtime exception.
    023 *
    024 * @since 1.0
    025 *
    026 */
    027public class ConfigurationRuntimeException extends RuntimeException
    028{
    029    /**
    030     * The serial version ID.
    031     */
    032    private static final long serialVersionUID = -7838702245512140996L;
    033
    034    /**
    035     * Constructs a new {@code ConfigurationRuntimeException} without
    036     * specified detail message.
    037     */
    038    public ConfigurationRuntimeException()
    039    {
    040        super();
    041    }
    042
    043    /**
    044     * Constructs a new {@code ConfigurationRuntimeException} with
    045     * specified detail message.
    046     *
    047     * @param message  the error message
    048     */
    049    public ConfigurationRuntimeException(final String message)
    050    {
    051        super(message);
    052    }
    053
    054    /**
    055     * Constructs a new {@code ConfigurationRuntimeException} with
    056     * specified detail message using {@link String#format(String,Object...)}.
    057     *
    058     * @param message  the error message
    059     * @param args arguments to the error message
    060     * @see String#format(String,Object...)
    061     */
    062    public ConfigurationRuntimeException(final String message, final Object... args)
    063    {
    064        super(String.format(message, args));
    065    }
    066
    067    /**
    068     * Constructs a new {@code ConfigurationRuntimeException} with
    069     * specified nested {@code Throwable}.
    070     *
    071     * @param cause  the exception or error that caused this exception to be thrown
    072     */
    073    public ConfigurationRuntimeException(final Throwable cause)
    074    {
    075        super(cause);
    076    }
    077
    078    /**
    079     * Constructs a new {@code ConfigurationRuntimeException} with
    080     * specified detail message and nested {@code Throwable}.
    081     *
    082     * @param message  the error message
    083     * @param cause    the exception or error that caused this exception to be thrown
    084     */
    085    public ConfigurationRuntimeException(final String message, final Throwable cause)
    086    {
    087        super(message, cause);
    088    }
    089}