PropertyException.java |
/* * $Id: PropertyException.java,v 1.1 2011/02/12 08:22:46 agoubard Exp $ * * See the COPYRIGHT file for redistribution and use restrictions. */ package org.xins.common.collections; import org.xins.common.MandatoryArgumentChecker; /** * Exception thrown to indicate a problem with a property. * * @version $Revision: 1.1 $ $Date: 2011/02/12 08:22:46 $ * @author <a href="mailto:ernst@ernstdehaan.com">Ernst de Haan</a> * * @since XINS 3.0 */ public abstract class PropertyException extends Exception { /** * The name of the property. Cannot be <code>null</code>. */ private final String _propertyName; /** * Constructs a new <code>PropertyException</code> with the specified * property name. * * @param propertyName * the property name, cannot be <code>null</code>. * * @param message * the detail message to be returned by {@link #getMessage()}, * can be <code>null</code>. * * @param cause * the cause exception, to be returned by {@link #getCause()}, * can be <code>null</code>. * * @throws IllegalArgumentException * if <code>name == null</code>. */ PropertyException(String propertyName, String message, Throwable cause) { super(message); MandatoryArgumentChecker.check("propertyName", propertyName); _propertyName = propertyName; if (cause != null) { initCause(cause); } } /** * Returns the name of the property. * * @return * the name of the property, never <code>null</code>. */ public final String getPropertyName() { return _propertyName; } }