/* * Copyright 2001-2008 Geert Bevin <gbevin[remove] at uwyn dot com> * Licensed under the Apache License, Version 2.0 (the "License") * $Id: CircularIncludesException.java 3918 2008-04-14 17:35:35Z gbevin $ */ package com.uwyn.rife.template.exceptions; import com.uwyn.rife.datastructures.DocumentPosition; import com.uwyn.rife.tools.StringUtils; import java.util.Stack; public class CircularIncludesException extends ProcessingException { private static final long serialVersionUID = 3472405981484449892L; private String mTemplateName = null; private DocumentPosition mErrorLocation = null; private String mIncluded = null; private Stack<String> mPreviousIncludes = null; public CircularIncludesException(String templateName, DocumentPosition errorLocation, String included, Stack<String> previousIncludes) { super(formatError(templateName, errorLocation, "the template '"+included+"' has already been included, the include stack was : '"+StringUtils.join(previousIncludes,", ")+"'")); mTemplateName = templateName; mErrorLocation = errorLocation; mIncluded = included; mPreviousIncludes = previousIncludes; } public String getTemplateName() { return mTemplateName; } public DocumentPosition getErrorLocation() { return mErrorLocation; } public String getIncluded() { return mIncluded; } public Stack<String> getPreviousIncludes() { return mPreviousIncludes; } }