/*
* ALMA - Atacama Large Millimeter Array
* (c) Universidad Tecnica Federico Santa Maria, 2009
* Copyright by ESO (in the framework of the ALMA collaboration),
* All rights reserved
*
* This library 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 2.1 of the License, or (at your option) any later version.
*
* This library 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 copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA
*/
package cl.utfsm.acs.acg.core;
/**
* The <code>IllegalOperationException<code> exception should be used
* when illegal actions are going to be taken over a set of
* objects of the Alarm System configuration.
*
* The following are the constraints for the Alarm System configuration:
* <ul>
* <li>A Category cannot be deleted if it is being currently used by a Fault Family</li>
* <li>A Source cannot be deleted if it is being currently used by a Fault Family</li>
* <li>A Fault Family cannot be deleted if it is part of a Reduction Rule,
* actions as the parent of the rule, or as any kind of child.</li>
* <li>A Fault Member cannot be deleted if it is part of a Reduction Rule,
* actions as the parent of the rule, or as any kind of child.</li>
* <li>A Fault Code cannot be deleted if it is part of a Reduction Rule,
* actions as the parent of the rule, or as any kind of child.</li>
* </ul>
*
* When a new unique element is added to a object group (Category, Source, Fault Family and so),
* and it already exists, this exception should also be used. For instance,
* if a source "SOURCE1" already exists in the configuration, and it is added
* through the <code>SourceManager</code>, this exception should be risen.
*
* @author rtobar
*
*/
public class IllegalOperationException extends Exception {
private static final long serialVersionUID = -6131937452105181320L;
/**
* Default constructor
*/
public IllegalOperationException() {
// TODO Auto-generated constructor stub
}
/**
* @param message
*/
public IllegalOperationException(String message) {
super(message);
// TODO Auto-generated constructor stub
}
/**
* @param cause
*/
public IllegalOperationException(Throwable cause) {
super(cause);
// TODO Auto-generated constructor stub
}
/**
* @param message
* @param cause
*/
public IllegalOperationException(String message, Throwable cause) {
super(message, cause);
// TODO Auto-generated constructor stub
}
}