1 /* 2 Copyright (C) 2000 - 2007 Grid Systems, S.A. 3 4 This program is free software; you can redistribute it and/or modify 5 it under the terms of the GNU General Public License, version 2, as 6 published by the Free Software Foundation. 7 8 This program is distributed in the hope that it will be useful, 9 but WITHOUT ANY WARRANTY; without even the implied warranty of 10 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 GNU General Public License for more details. 12 13 You should have received a copy of the GNU General Public License 14 along with this program; if not, write to the Free Software 15 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 16 */ 17 18 /* 19 * Project: Kernel 20 * Created on 10-feb-2004 21 * 22 * Copyright (c)2004 Grid Systems 23 */ 24 package com.gridsystems.innergrid.kernel; 25 26 /** 27 * Defines classes that can be converted into a KernelException. 28 * <p> 29 * An example of use of this interface is for the implementation of a 30 * custom SecurityManager that could cancel API operations based on 31 * KernelContext information. 32 * <p> 33 * As SecurityManager methods must throw only SecurityExceptions, direct 34 * KernelException subclassing is not possible in this scenario. This interface 35 * allows such a SecurityManager to throw SecurityException subclasses implementing 36 * this interface, and the Kernel engine to automatically convert them into 37 * the correct type for SOAP serialization. 38 * 39 * @author Rodrigo Ruiz 40 * @version 1.0 41 */ 42 public interface Kernelizable { 43 /** 44 * Converts this instance into a KernelException. 45 * 46 * @return a KernelException instance equivalent to this 47 */ 48 KernelException toKernelException(); 49 }