/** * Copyright (c) 2014, the Railo Company Ltd. * Copyright (c) 2015, Lucee Assosication Switzerland * * 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, see <http://www.gnu.org/licenses/>. * */ package lucee.runtime.exp; import javax.servlet.ServletException; import lucee.runtime.PageContext; import lucee.runtime.PageSource; import lucee.runtime.config.Config; import lucee.runtime.dump.DumpData; import lucee.runtime.dump.DumpProperties; import lucee.runtime.err.ErrorPage; import lucee.runtime.type.Struct; /** * by definition a JSP Tag can only throw JSPExceptions, * for that case the PageException is a Subclass of the JSPExceptions, but when * a PageException, * is escaleted to a parent page, this goes over the include method of the * PageContext Object, but this can only throw ServletException. * For that this class can Box a JSPException (PageException) in a * ServletException (PageServletException) */ public final class PageServletException extends ServletException implements IPageException, PageExceptionBox { private static final long serialVersionUID = -3654238294705464067L; private final PageException pe; /** * constructor of the class * * @param pe page exception to hold */ public PageServletException(final PageException pe) { super(pe.getMessage()); this.pe = pe; } /** * @see lucee.runtime.exp.PageExceptionBox#getPageException() */ @Override public PageException getPageException() { return pe; } /** * @see lucee.runtime.exp.IPageException#getDetail() */ @Override public String getDetail() { return pe.getDetail(); } /** * @see lucee.runtime.exp.IPageException#getErrorCode() */ @Override public String getErrorCode() { return pe.getErrorCode(); } /** * @see lucee.runtime.exp.IPageException#getExtendedInfo() */ @Override public String getExtendedInfo() { return pe.getExtendedInfo(); } /** * * @see lucee.runtime.exp.IPageException#getCatchBlock(lucee.runtime.PageContext) */ @Override public Struct getCatchBlock(final PageContext pc) { return pe.getCatchBlock(pc.getConfig()); } /** * * @see lucee.runtime.exp.IPageException#getCatchBlock(lucee.runtime.PageContext) */ @Override public CatchBlock getCatchBlock(final Config config) { return pe.getCatchBlock(config); } /** * @see lucee.runtime.exp.IPageException#getErrorBlock(PageContext * pc,ErrorPage ep) */ @Override public Struct getErrorBlock(final PageContext pc, final ErrorPage ep) { return pe.getErrorBlock(pc, ep); } /** * @see lucee.runtime.exp.IPageException#addContext(lucee.runtime.PageSource, * int, int, java.lang.StackTraceElement) */ @Override public void addContext(final PageSource template, final int line, final int column, final StackTraceElement ste) { pe.addContext(template, line, column, ste); } /** * @see lucee.runtime.dump.Dumpable#toDumpData(lucee.runtime.PageContext, * int, lucee.runtime.dump.DumpProperties) */ @Override public DumpData toDumpData(final PageContext pageContext, final int maxlevel, final DumpProperties dp) { return pe.toDumpData(pageContext, maxlevel, dp); } /** * @see lucee.runtime.exp.IPageException#setDetail(java.lang.String) */ @Override public void setDetail(final String detail) { pe.setDetail(detail); } /** * @see lucee.runtime.exp.IPageException#setErrorCode(java.lang.String) */ @Override public void setErrorCode(final String errorCode) { pe.setErrorCode(errorCode); } /** * @see lucee.runtime.exp.IPageException#setExtendedInfo(java.lang.String) */ @Override public void setExtendedInfo(final String extendedInfo) { pe.setExtendedInfo(extendedInfo); } /** * @see lucee.runtime.exp.IPageException#getTypeAsString() */ @Override public String getTypeAsString() { return pe.getTypeAsString(); } /** * @see lucee.runtime.exp.IPageException#typeEqual(java.lang.String) */ @Override public boolean typeEqual(final String type) { return pe.typeEqual(type); } /** * @see lucee.runtime.exp.IPageException#getCustomTypeAsString() */ @Override public String getCustomTypeAsString() { return pe.getCustomTypeAsString(); } /* * * @see lucee.runtime.exp.IPageException#getLine() * / public String getLine() { return pe.getLine(); }*/ /** * @see lucee.runtime.exp.IPageException#getTracePointer() */ @Override public int getTracePointer() { return pe.getTracePointer(); } /** * @see lucee.runtime.exp.IPageException#setTracePointer(int) */ @Override public void setTracePointer(final int tracePointer) { pe.setTracePointer(tracePointer); } /** * @see lucee.runtime.exp.IPageException#getAdditional() */ @Override public Struct getAdditional() { return pe.getAdditional(); } @Override public Struct getAddional() { return pe.getAdditional(); } /** * @see lucee.runtime.exp.IPageException#getStackTraceAsString() */ @Override public String getStackTraceAsString() { return pe.getStackTraceAsString(); } }