001 /** 002 * 003 * Copyright 2003-2004 The Apache Software Foundation 004 * 005 * Licensed under the Apache License, Version 2.0 (the "License"); 006 * you may not use this file except in compliance with the License. 007 * You may obtain a copy of the License at 008 * 009 * http://www.apache.org/licenses/LICENSE-2.0 010 * 011 * Unless required by applicable law or agreed to in writing, software 012 * distributed under the License is distributed on an "AS IS" BASIS, 013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 014 * See the License for the specific language governing permissions and 015 * limitations under the License. 016 */ 017 018 // 019 // This source code implements specifications defined by the Java 020 // Community Process. In order to remain compliant with the specification 021 // DO NOT add / change / or delete method signatures! 022 // 023 024 package javax.servlet.jsp.el; 025 026 027 /** 028 * Represents any of the exception conditions that arise during the 029 * operation evaluation of the evaluator. 030 * 031 * @since 2.0 032 */ 033 public class ELException 034 extends Exception 035 { 036 //------------------------------------- 037 // Member variables 038 //------------------------------------- 039 040 private Throwable mRootCause; 041 042 //------------------------------------- 043 /** 044 * Creates an ELException with no detail message. 045 **/ 046 public ELException () 047 { 048 super (); 049 } 050 051 //------------------------------------- 052 /** 053 * Creates an ELException with the provided detail message. 054 * 055 * @param pMessage the detail message 056 **/ 057 public ELException (String pMessage) 058 { 059 super (pMessage); 060 } 061 062 //------------------------------------- 063 /** 064 * Creates an ELException with the given root cause. 065 * 066 * @param pRootCause the originating cause of this exception 067 **/ 068 public ELException (Throwable pRootCause) 069 { 070 super( pRootCause.getLocalizedMessage() ); 071 mRootCause = pRootCause; 072 } 073 074 //------------------------------------- 075 /** 076 * Creates an ELException with the given detail message and root cause. 077 * 078 * @param pMessage the detail message 079 * @param pRootCause the originating cause of this exception 080 **/ 081 public ELException (String pMessage, 082 Throwable pRootCause) 083 { 084 super (pMessage); 085 mRootCause = pRootCause; 086 } 087 088 //------------------------------------- 089 /** 090 * Returns the root cause. 091 * 092 * @return the root cause of this exception 093 */ 094 public Throwable getRootCause () 095 { 096 return mRootCause; 097 } 098 }