001: /*
002: * $Header: /export/home/cvsroot/MyPersonalizerRepository/MyPersonalizer/Subsystems/Kernel/Sources/es/udc/mypersonalizer/kernel/util/exceptions/ActionNotAllowedException.java,v 1.1.1.1 2004/03/25 12:08:38 fbellas Exp $
003: * $Revision: 1.1.1.1 $
004: * $Date: 2004/03/25 12:08:38 $
005: *
006: * =============================================================================
007: *
008: * Copyright (c) 2003, The MyPersonalizer Development Group
009: * (http://www.tic.udc.es/~fbellas/mypersonalizer/index.html) at
010: * University Of A Coruna
011: * All rights reserved.
012: *
013: * Redistribution and use in source and binary forms, with or without
014: * modification, are permitted provided that the following conditions are met:
015: *
016: * - Redistributions of source code must retain the above copyright notice,
017: * this list of conditions and the following disclaimer.
018: *
019: * - Redistributions in binary form must reproduce the above copyright notice,
020: * this list of conditions and the following disclaimer in the documentation
021: * and/or other materials provided with the distribution.
022: *
023: * - Neither the name of the University Of A Coruna nor the names of its
024: * contributors may be used to endorse or promote products derived from
025: * this software without specific prior written permission.
026: *
027: * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
028: * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
029: * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
030: * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
031: * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
032: * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
033: * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
034: * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
035: * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
036: * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
037: * POSSIBILITY OF SUCH DAMAGE.
038: *
039: */
040:
041: package es.udc.mypersonalizer.kernel.util.exceptions;
042:
043: /**
044: * This exception is raised when the user tries to execute an action for which
045: * he or she has not enough permissions. For example: removing a service which
046: * cannot be removed or adding a workspace for which he or she hasn't got
047: * permission.
048: *
049: * @author Daniel Fernandez
050: * @since 1.0
051: */
052: public class ActionNotAllowedException extends ModelException {
053:
054: /**
055: * Constant for the action of adding a new service.
056: */
057: public static final String ADD_SERVICE_ACTION = "ADD_SERVICE";
058:
059: /**
060: * Constant for the action of removing a service.
061: */
062: public static final String REMOVE_SERVICE_ACTION = "REMOVE_SERVICE";
063:
064: /**
065: * Constant for the action of adding a new workspace.
066: */
067: public static final String ADD_WORKSPACE_ACTION = "ADD_WORKSPACE";
068:
069: /**
070: * Constant for the action of removing a workspace.
071: */
072: public static final String REMOVE_WORKSPACE_ACTION = "REMOVE_WORKSPACE";
073:
074: /**
075: * Constant for the action of personalizing a service.
076: */
077: public static final String PERSONALIZE_SERVICE_ACTION = "PERSONALIZE_SERVICE";
078:
079: /**
080: * Constant for the action of changing the state of a button.
081: */
082: public static final String CHANGE_BUTTON_STATE_ACTION = "CHANGE_BUTTON_STATE";
083:
084: /**
085: * The action which caused the permission problem.
086: */
087: private String action = null;
088:
089: /**
090: * A description of the reason for this exception to be raised.
091: */
092: private String reason = null;
093:
094: /** Creates a new instance of ActionNotAllowedException
095: *
096: * @param message The message to be included into the exception.
097: * @param action Action (defined by the above constants) which provoked
098: * the raising of this exception.
099: * @param reason The reason for this exception being raised.
100: */
101: public ActionNotAllowedException(String message, String action,
102: String reason) {
103: super (message);
104: this .action = action;
105: this .reason = reason;
106: }
107:
108: /**
109: * Returns the action responsible for this exception.
110: *
111: * @return the action
112: */
113: public String getAction() {
114: return action;
115: }
116:
117: /**
118: * Returns the reason for this exception to be raised.
119: *
120: * @return the reason.
121: */
122: public String getReason() {
123: return reason;
124: }
125: }
|