/** * * Copyright (c) 2014, the Railo Company Ltd. All rights reserved. * * 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; import java.net.URL; import java.util.Iterator; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.jsp.JspFactory; import lucee.loader.engine.CFMLEngine; import lucee.runtime.config.ConfigWeb; /** * implements a JSP Factory, this class procduce JSP Compatible PageContext * Object * this object holds also the must interfaces to coldfusion specified * functionlity */ public abstract class CFMLFactory extends JspFactory { /** * reset the PageContexes */ public abstract void resetPageContext(); /** * similar to getPageContext Method but return the concret implementation of * the Lucee PageCOntext * and take the HTTP Version of the Servlet Objects * * @param servlet * @param req * @param rsp * @param errorPageURL * @param needsSession * @param bufferSize * @param autoflush * @return return the pageContext * @deprecated use instead <code>getLuceePageContext(HttpServlet servlet, HttpServletRequest req, HttpServletResponse rsp, String errorPageURL, boolean needsSession, int bufferSize, boolean autoflush,boolean register)</code> */ @Deprecated public abstract PageContext getLuceePageContext(HttpServlet servlet, HttpServletRequest req, HttpServletResponse rsp, String errorPageURL, boolean needsSession, int bufferSize, boolean autoflush); /** * similar to getPageContext Method but return the concret implementation of * the Lucee PageCOntext * and take the HTTP Version of the Servlet Objects * * @param servlet * @param req * @param rsp * @param errorPageURL * @param needsSession * @param bufferSize * @param autoflush * @param register register the PageContext to the current thread * @param timeout timeout in ms, if the value is smaller than 1 it is * ignored and the value comming from the context is used * @return return the PageContext */ public abstract PageContext getLuceePageContext(HttpServlet servlet, HttpServletRequest req, HttpServletResponse rsp, String errorPageURL, boolean needsSession, int bufferSize, boolean autoflush, boolean register, long timeout, boolean register2RunningThreads, boolean ignoreScopes); /** * Similar to the releasePageContext Method, but take lucee PageContext as * entry * * @param pc * @deprecated use instead * <code>releaseLuceePageContext(PageContext pc, boolean unregister)</code> */ @Deprecated public abstract void releaseLuceePageContext(PageContext pc); /** * Similar to the releasePageContext Method, but take lucee PageContext as * entry * * @param pc * @param unregister unregister from current thread */ public abstract void releaseLuceePageContext(PageContext pc, boolean unregister); /** * check timeout of all running threads, downgrade also priority from all * thread run longer than 10 seconds */ public abstract void checkTimeout(); /** * @return returns count of pagecontext in use */ public abstract int getUsedPageContextLength(); /** * @return Returns the config. */ public abstract ConfigWeb getConfig(); /** * @return label of the factory */ public abstract Object getLabel(); public abstract URL getURL(); /** * @deprecated no replacement * @param label */ @Deprecated public abstract void setLabel(String label); /** * @return the servlet */ public abstract HttpServlet getServlet(); public abstract CFMLEngine getEngine(); public abstract int toDialect(String ext); // FUTURE deprecate // public abstract int toDialect(String ext, int defaultValue);// FUTURE public abstract Iterator<String> getCFMLExtensions(); public abstract Iterator<String> getLuceeExtensions(); }