    001    /*****************************************************************************
    002     * Copyright (c) PicoContainer Organization. All rights reserved.            *
    003     * ------------------------------------------------------------------------- *
    004     * The software in this package is published under the terms of the BSD      *
    005     * style license a copy of which has been included with this distribution in *
    006     * the LICENSE.txt file.                                                     *
    007     *                                                                           *
    008     * Idea by Rachel Davies, Original code by Aslak Hellesoy and Paul Hammant   *
    009     *****************************************************************************/
    010
    011    package org.picocontainer;
    012
    013    /**
    014     * Subclass of {@link PicoException} that is thrown when there is:
    015     *   - a problem initializing the container
    016     *   - a cyclic dependency between components occurs.
    017     *   - problem adding a component
    018     *   - a request for a component that is ambiguous.
    019     *
    020     */
    021    @SuppressWarnings("serial")
    022    public class PicoCompositionException extends PicoException {
    023        /**
    024         * Construct a new exception with no cause and the specified detail message.  Note modern JVMs may still track the
    025         * exception that caused this one.
    026         *
    027         * @param message the message detailing the exception.
    028         */
    029        public PicoCompositionException(final String message) {
    030            super(message);
    031        }
    032
    033        /**
    034         * Construct a new exception with the specified cause and no detail message.
    035         *
    036         * @param cause the exception that caused this one.
    037         */
    038        public PicoCompositionException(final Throwable cause) {
    039            super(cause);
    040        }
    041
    042        /**
    043         * Construct a new exception with the specified cause and the specified detail message.
    044         *
    045         * @param message the message detailing the exception.
    046         * @param cause   the exception that caused this one.
    047         */
    048        public PicoCompositionException(final String message, final Throwable cause) {
    049            super(message, cause);
    050        }
    051    }