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
011package 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")
022public 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}