001: /*
002: *
003: *
004: * Copyright 1990-2007 Sun Microsystems, Inc. All Rights Reserved.
005: * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER
006: *
007: * This program is free software; you can redistribute it and/or
008: * modify it under the terms of the GNU General Public License version
009: * 2 only, as published by the Free Software Foundation.
010: *
011: * This program is distributed in the hope that it will be useful, but
012: * WITHOUT ANY WARRANTY; without even the implied warranty of
013: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
014: * General Public License version 2 for more details (a copy is
015: * included at /legal/license.txt).
016: *
017: * You should have received a copy of the GNU General Public License
018: * version 2 along with this work; if not, write to the Free Software
019: * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
020: * 02110-1301 USA
021: *
022: * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
023: * Clara, CA 95054 or visit www.sun.com if you need additional
024: * information or have any questions.
025: */
026:
027: package javacard.framework.service;
028:
029: import javacard.framework.*;
030:
031: /**
032: * <code>ServiceException</code> represents a service framework
033: * related exception.
034: * @version 1.0
035: */
036: public class ServiceException extends CardRuntimeException {
037:
038: // ServiceException reason code
039:
040: /**
041: * This reason code is used to indicate that an input parameter is not
042: * allowed.
043: */
044: public static final short ILLEGAL_PARAM = 1;
045:
046: /**
047: * This reason code is used to indicate that a dispatch table is full.
048: */
049: public static final short DISPATCH_TABLE_FULL = 2;
050:
051: /**
052: * This reason code is used to indicate that the incoming data for a
053: * command in the <CODE>APDU</CODE> object does not fit in the APDU buffer.
054: */
055: public static final short COMMAND_DATA_TOO_LONG = 3;
056:
057: /**
058: * This reason code is used to indicate that the command in the
059: * <CODE>APDU</CODE>
060: * object cannot be accessed for input processing.
061: */
062: public static final short CANNOT_ACCESS_IN_COMMAND = 4;
063:
064: /**
065: * This reason code is used to indicate that the command in the
066: * <CODE>APDU</CODE> object
067: * cannot be accessed for output processing.
068: */
069: public static final short CANNOT_ACCESS_OUT_COMMAND = 5;
070:
071: /**
072: * This reason code is used to indicate that the command in the
073: * <CODE>APDU</CODE> object
074: * has been completely processed.
075: */
076: public static final short COMMAND_IS_FINISHED = 6;
077:
078: /**
079: * This reason code is used by <code>RMIService</code> to indicate
080: * that the remote
081: * method returned an remote object which has not been exported.
082: */
083: public static final short REMOTE_OBJECT_NOT_EXPORTED = 7;
084:
085: /**
086: * Constructs a <CODE>ServiceException</CODE>.
087: * @param reason the reason for the exception
088: */
089: public ServiceException(short reason) {
090: super (reason);
091: }
092:
093: /**
094: * Throws an instance of <code>ServiceException</code> with the
095: * specified reason.
096: * @param reason the reason for the exception
097: * @exception ServiceException always
098: */
099: public static void throwIt(short reason) throws ServiceException {
100: throw new ServiceException(reason);
101: }
102:
103: }
|