    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 * @author Emmanuel Bourg
    027 */
    028public class ConfigurationRuntimeException extends RuntimeException
    029{
    030    /**
    031     * The serial version ID.
    032     */
    033    private static final long serialVersionUID = -7838702245512140996L;
    034
    035    /**
    036     * Constructs a new {@code ConfigurationRuntimeException} without
    037     * specified detail message.
    038     */
    039    public ConfigurationRuntimeException()
    040    {
    041        super();
    042    }
    043
    044    /**
    045     * Constructs a new {@code ConfigurationRuntimeException} with
    046     * specified detail message.
    047     *
    048     * @param message  the error message
    049     */
    050    public ConfigurationRuntimeException(final String message)
    051    {
    052        super(message);
    053    }
    054
    055    /**
    056     * Constructs a new {@code ConfigurationRuntimeException} with
    057     * specified detail message using {@link String#format(String,Object...)}.
    058     *
    059     * @param message  the error message
    060     * @param args arguments to the error message
    061     * @see String#format(String,Object...)
    062     */
    063    public ConfigurationRuntimeException(final String message, final Object... args)
    064    {
    065        super(String.format(message, args));
    066    }
    067
    068    /**
    069     * Constructs a new {@code ConfigurationRuntimeException} with
    070     * specified nested {@code Throwable}.
    071     *
    072     * @param cause  the exception or error that caused this exception to be thrown
    073     */
    074    public ConfigurationRuntimeException(final Throwable cause)
    075    {
    076        super(cause);
    077    }
    078
    079    /**
    080     * Constructs a new {@code ConfigurationRuntimeException} with
    081     * specified detail message and nested {@code Throwable}.
    082     *
    083     * @param message  the error message
    084     * @param cause    the exception or error that caused this exception to be thrown
    085     */
    086    public ConfigurationRuntimeException(final String message, final Throwable cause)
    087    {
    088        super(message, cause);
    089    }
    090}