/*
* Rapid Beans Framework: ValidationException.java
*
* Copyright (C) 2009 Martin Bluemel
*
* Creation Date: 01/01/2006
*
* This program is free software; you can redistribute it and/or modify it under the terms of the
* GNU Lesser General Public License as published by the Free Software Foundation;
* either version 3 of the License, or (at your option) any later version.
* This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU Lesser General Public License for more details.
* You should have received a copies of the GNU Lesser General Public License and the
* GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>.
*/
package org.rapidbeans.core.exception;
/**
* @author Martin Bluemel
*/
public class ValidationException extends LocalizedException {
/**
* The exceptoin source
*/
private Object source = null;
/**
* @return the exception source. Could be a Property, a Bean, or a different
* Object.
*/
public Object getSource() {
return this.source;
}
/**
* serial version UID.
*/
private static final long serialVersionUID = 1L;
/**
* Constructor with message.
*
* @param sig
* a unique signature for a localized exception message.<br/>
* Syntax: <property type>.<reason><br/>
* @param source
* the exception source
* @param message
* the default exception message
*/
public ValidationException(final String sig, final Object source, final String message) {
super(sig, message);
this.source = source;
}
/**
* Constructor with message and cause.
*
* @param sig
* a unique signature for a localized exception message.<br/>
* Syntax: <property type>.<reason><br/>
* @param source
* the exception source
* @param message
* the default exception message
* @param cause
* a Throwable to nest
*/
public ValidationException(final String sig, final Object source, final String message, final Throwable cause) {
super(sig, message, cause);
this.source = source;
}
/**
* Constructor with message and arguments.
*
* @param sig
* a unique signature for a localized exception message.<br/>
* Syntax: <property type>.<reason><br/>
* @param source
* the exception source
* @param message
* the default exception message
* @param messArgs
* the message arguments
*/
public ValidationException(final String sig, final Object source, final String message, final Object[] messArgs) {
super(sig, message, messArgs);
this.source = source;
}
}