001 /*
002 * (c) 2003-2005, 2009, 2010 ThoughtWorks Ltd
003 * All rights reserved.
004 *
005 * The software in this package is published under the terms of the BSD
006 * style license a copy of which has been included with this distribution in
007 * the LICENSE.txt file.
008 *
009 * Created on 17-May-2004
010 */
011 package com.thoughtworks.proxy.toys.delegate;
012
013 /**
014 * Exception thrown if a delegation from the proxy to the delegated object fails.
015 *
016 * @author Dan North
017 * @since 0.1
018 */
019 public class DelegationException extends RuntimeException {
020
021 private static final long serialVersionUID = -8777676199121620549L;
022 private final Object delegate;
023
024 /**
025 * Construct a DelegationException.
026 *
027 * @param message the meaningful message.
028 * @param cause a causing {@link Throwable}
029 * @param delegate the delegated object
030 * @since 0.1
031 */
032 public DelegationException(final String message, final Throwable cause, final Object delegate) {
033 super(message, cause);
034 this.delegate = delegate;
035 }
036
037 /**
038 * Returns the delegated object.
039 *
040 * @return the delegated object
041 * @since 0.1
042 */
043 public Object getDelegate() {
044 return delegate;
045 }
046 }