001/** 002 * 003 * Copyright (c) 2014, the Railo Company Ltd. All rights reserved. 004 * 005 * This library is free software; you can redistribute it and/or 006 * modify it under the terms of the GNU Lesser General Public 007 * License as published by the Free Software Foundation; either 008 * version 2.1 of the License, or (at your option) any later version. 009 * 010 * This library is distributed in the hope that it will be useful, 011 * but WITHOUT ANY WARRANTY; without even the implied warranty of 012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 013 * Lesser General Public License for more details. 014 * 015 * You should have received a copy of the GNU Lesser General Public 016 * License along with this library. If not, see <http://www.gnu.org/licenses/>. 017 * 018 **/ 019package lucee.loader.engine; 020 021import java.io.IOException; 022import java.net.URL; 023import java.util.Map; 024 025import javax.servlet.ServletConfig; 026import javax.servlet.ServletContext; 027import javax.servlet.ServletException; 028import javax.servlet.http.HttpServlet; 029import javax.servlet.http.HttpServletRequest; 030import javax.servlet.http.HttpServletResponse; 031import javax.servlet.jsp.JspException; 032 033import lucee.runtime.CFMLFactory; 034import lucee.runtime.PageContext; 035import lucee.runtime.util.Cast; 036import lucee.runtime.util.Creation; 037import lucee.runtime.util.Decision; 038import lucee.runtime.util.Excepton; 039import lucee.runtime.util.HTTPUtil; 040import lucee.runtime.util.Operation; 041import lucee.runtime.util.ResourceUtil; 042import lucee.runtime.util.ZipUtil; 043import lucee.runtime.video.VideoUtil; 044 045/** 046 * wrapper for a CFMlEngine 047 */ 048public class CFMLEngineWrapper implements CFMLEngine, EngineChangeListener { 049 050 private CFMLEngine engine; 051 052 /** 053 * constructor of the class 054 * @param engine 055 */ 056 public CFMLEngineWrapper(CFMLEngine engine) { 057 this.engine=engine; 058 } 059 060 /** 061 * @see lucee.loader.engine.CFMLEngine#addServletConfig(javax.servlet.ServletConfig) 062 */ 063 public void addServletConfig(ServletConfig config) throws ServletException { 064 engine.addServletConfig(config); 065 } 066 067 /** 068 * @see lucee.loader.engine.CFMLEngine#serviceCFML(javax.servlet.http.HttpServlet, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) 069 */ 070 public void serviceCFML(HttpServlet servlet, HttpServletRequest req, 071 HttpServletResponse rsp) throws ServletException, IOException { 072 engine.serviceCFML(servlet,req,rsp); 073 } 074 075 /** 076 * @see lucee.loader.engine.CFMLEngine#serviceAMF(javax.servlet.http.HttpServlet, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) 077 */ 078 public void serviceAMF(HttpServlet servlet, HttpServletRequest req, 079 HttpServletResponse rsp) throws ServletException, IOException { 080 engine.serviceAMF(servlet,req,rsp); 081 } 082 083 /** 084 * @see lucee.loader.engine.CFMLEngine#serviceFile(javax.servlet.http.HttpServlet, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) 085 */ 086 public void serviceFile(HttpServlet servlet, HttpServletRequest req, 087 HttpServletResponse rsp) throws ServletException, IOException { 088 engine.serviceFile(servlet,req,rsp); 089 } 090 091 092 public void serviceRest(HttpServlet servlet, HttpServletRequest req, 093 HttpServletResponse rsp) throws ServletException, IOException { 094 engine.serviceRest(servlet,req,rsp); 095 } 096 097 /** 098 * @see lucee.loader.engine.CFMLEngine#getVersion() 099 */ 100 public String getVersion() { 101 return engine.getVersion(); 102 } 103 104 /** 105 * @see lucee.loader.engine.CFMLEngine#getUpdateType() 106 */ 107 public String getUpdateType() { 108 return engine.getUpdateType(); 109 } 110 111 /** 112 * @see lucee.loader.engine.CFMLEngine#getUpdateLocation() 113 */ 114 public URL getUpdateLocation() { 115 return engine.getUpdateLocation(); 116 } 117 118 /** 119 * @see lucee.loader.engine.CFMLEngine#can(int, java.lang.String) 120 */ 121 public boolean can(int type, String password) { 122 return engine.can(type,password); 123 } 124 125 /** 126 * @see lucee.loader.engine.CFMLEngine#getCFMLEngineFactory() 127 */ 128 public CFMLEngineFactory getCFMLEngineFactory() { 129 return engine.getCFMLEngineFactory(); 130 } 131 132 /** 133 * @see lucee.loader.engine.CFMLEngine#reset() 134 */ 135 public void reset() { 136 engine.reset(); 137 } 138 139 /** 140 * @see lucee.loader.engine.CFMLEngine#reset(String) 141 */ 142 public void reset(String configId) { 143 engine.reset(configId); 144 } 145 146 /** 147 * @see lucee.loader.engine.EngineChangeListener#onUpdate(lucee.loader.engine.CFMLEngine) 148 */ 149 public void onUpdate(CFMLEngine newEngine) { 150 this.engine=newEngine; 151 } 152 153 /** 154 * @see lucee.loader.engine.CFMLEngine#getCastUtil() 155 */ 156 public Cast getCastUtil() { 157 return engine.getCastUtil(); 158 } 159 160 /** 161 * @see lucee.loader.engine.CFMLEngine#getOperatonUtil() 162 */ 163 public Operation getOperatonUtil() { 164 return engine.getOperatonUtil(); 165 } 166 167 /** 168 * @see lucee.loader.engine.CFMLEngine#getDecisionUtil() 169 */ 170 public Decision getDecisionUtil() { 171 return engine.getDecisionUtil(); 172 } 173 174 /** 175 * @see lucee.loader.engine.CFMLEngine#getExceptionUtil() 176 */ 177 public Excepton getExceptionUtil() { 178 return engine.getExceptionUtil(); 179 } 180 181 /** 182 * @see lucee.loader.engine.CFMLEngine#getCreationUtil() 183 */ 184 public Creation getCreationUtil() { 185 return engine.getCreationUtil(); 186 } 187 188 /** 189 * 190 * @see lucee.loader.engine.CFMLEngine#getCFMLFactory(javax.servlet.ServletContext, javax.servlet.ServletConfig, javax.servlet.http.HttpServletRequest) 191 */ 192 public CFMLFactory getCFMLFactory(ServletContext srvContext, ServletConfig srvConfig, HttpServletRequest req) throws ServletException { 193 return engine.getCFMLFactory(srvContext, srvConfig, req); 194 } 195 196 /** 197 * @see lucee.loader.engine.CFMLEngine#getBlazeDSUtil() 198 */ 199 public Object getBlazeDSUtil() { 200 return engine.getBlazeDSUtil(); 201 } 202 203 /** 204 * @see lucee.loader.engine.CFMLEngine#getFDController() 205 */ 206 public Object getFDController() { 207 return engine.getFDController(); 208 } 209 210 /** 211 * @see lucee.loader.engine.CFMLEngine#getHTTPUtil() 212 */ 213 public HTTPUtil getHTTPUtil() { 214 return engine.getHTTPUtil(); 215 } 216 217 /** 218 * @see lucee.loader.engine.CFMLEngine#getResourceUtil() 219 */ 220 public ResourceUtil getResourceUtil() { 221 return engine.getResourceUtil(); 222 } 223 224 /** 225 * @see lucee.loader.engine.CFMLEngine#getThreadPageContext() 226 */ 227 public PageContext getThreadPageContext() { 228 return engine.getThreadPageContext(); 229 } 230 231 /** 232 * @see lucee.loader.engine.CFMLEngine#getVideoUtil() 233 */ 234 public VideoUtil getVideoUtil() { 235 return engine.getVideoUtil(); 236 } 237 238 /** 239 * @see lucee.loader.engine.CFMLEngine#getZipUtil() 240 */ 241 public ZipUtil getZipUtil() { 242 return engine.getZipUtil(); 243 } 244 245 /** 246 * @see lucee.loader.engine.CFMLEngine#getState() 247 */ 248 public String getState() { 249 return engine.getState(); 250 } 251 252 /** 253 * this interface is new to this class and not offically part of Lucee 3.x, do not use outside the loader 254 * @param other 255 * @param checkReferenceEqualityOnly 256 * @return if it is the same engine it returns true 257 */ 258 public boolean equalTo(CFMLEngine other, boolean checkReferenceEqualityOnly) { 259 while(other instanceof CFMLEngineWrapper) 260 other=((CFMLEngineWrapper)other).engine; 261 if(checkReferenceEqualityOnly) return engine==other; 262 return engine.equals(other); 263 } 264 265 @Override 266 public void cli(Map<String, String> config, ServletConfig servletConfig) throws IOException, JspException, ServletException { 267 engine.cli(config, servletConfig); 268 } 269 270 @Override 271 public void registerThreadPageContext(PageContext pc) { 272 engine.registerThreadPageContext(pc); 273 } 274}