/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ package freemarker.template; import freemarker.core.Environment; import freemarker.core._ErrorDescriptionBuilder; /** * {@link TemplateModel} methods throw this exception if the requested data can't be retrieved. */ public class TemplateModelException extends TemplateException { /** * Constructs a <tt>TemplateModelException</tt> with no * specified detail message. */ public TemplateModelException() { this((String) null, null); } /** * Constructs a <tt>TemplateModelException</tt> with the * specified detail message. * * @param description the detail message. */ public TemplateModelException(String description) { this(description, null); } /** * The same as {@link #TemplateModelException(Throwable)}; it's exists only for binary * backward-compatibility. */ public TemplateModelException(Exception cause) { this((String) null, cause); } /** * Constructs a <tt>TemplateModelException</tt> with the given underlying * Exception, but no detail message. * * @param cause the underlying {@link Exception} that caused this * exception to be raised */ public TemplateModelException(Throwable cause) { this((String) null, cause); } /** * The same as {@link #TemplateModelException(String, Throwable)}; it's exists only for binary * backward-compatibility. */ public TemplateModelException(String description, Exception cause) { super(description, cause, null); } /** * Constructs a TemplateModelException with both a description of the error * that occurred and the underlying Exception that caused this exception * to be raised. * * @param description the description of the error that occurred * @param cause the underlying {@link Exception} that caused this * exception to be raised */ public TemplateModelException(String description, Throwable cause) { super(description, cause, null); } /** * Don't use this; this is to be used internally by FreeMarker. * @param preventAmbiguity its value is ignored; it's only to prevent constructor selection ambiguities for * backward-compatibility */ protected TemplateModelException(Throwable cause, Environment env, String description, boolean preventAmbiguity) { super(description, cause, env); } /** * Don't use this; this is to be used internally by FreeMarker. * @param preventAmbiguity its value is ignored; it's only to prevent constructor selection ambiguities for * backward-compatibility */ protected TemplateModelException( Throwable cause, Environment env, _ErrorDescriptionBuilder descriptionBuilder, boolean preventAmbiguity) { super(cause, env, null, descriptionBuilder); } }