org.nerd4j.utils.lang.RequirementFailure Maven / Gradle / Ivy
/*
* #%L
* Nerd4j Core
* %%
* Copyright (C) 2011 - 2013 Nerd4j
* %%
* 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 General Lesser Public License for more details.
*
* You should have received a copy of the GNU General Lesser Public
* License along with this program. If not, see
* .
* #L%
*/
package org.nerd4j.utils.lang;
/**
* This error is created by the {{@link Require} utility
* class if a given requirement fails.
*
*
* Is intended to be thrown if parameter validation fails in methods and
* constructors.
*
* @author Massimo Coluzzi
* @since 2.0.0
*/
public class RequirementFailure extends RuntimeException
{
/** Generated Serial Version UID. */
private static final long serialVersionUID = 1L;
/**
* Constructs a new exception with the specified detail message. The cause
* is not initialized, and may subsequently be initialized by a call to
* {@link #initCause}.
*
* @param message
* the detail message. The detail message is saved for later
* retrieval by the {@link #getMessage()} method.
*/
public RequirementFailure( String message )
{
super( message );
}
/**
* Constructs a new exception with the specified cause and a detail message
* of {@code (cause==null ? null : cause.toString())}.
*
* @param cause
* the cause (which is saved for later retrieval by the
* {@link #getCause()} method). (A null value is
* permitted, and indicates that the cause is nonexistent or
* unknown.)
*/
public RequirementFailure( Throwable cause )
{
super( cause );
}
/**
* Constructs a new exception with the specified detail message and cause.
*
* Note that the detail message associated with {@code cause} is
* not automatically incorporated in this exception's detail message.
*
* @param message
* the detail message (which is saved for later retrieval by the
* {@link #getMessage()} method).
* @param cause
* the cause (which is saved for later retrieval by the
* {@link #getCause()} method). (A null value is
* permitted, and indicates that the cause is nonexistent or
* unknown.)
*/
public RequirementFailure( String message, Throwable cause )
{
super( message, cause );
}
}