00001 /* 00002 * OpenMobileIS - a free Java(TM) Framework for mobile applications Java(TM) 00003 * Copyright (C) 2004-2006 Philippe Delrieu 00004 * All rights reserved. 00005 * Contact: pdelrieu@openmobileis.org 00006 * 00007 * This library is free software; you can redistribute it and/or 00008 * modify it under the terms of the GNU Lesser General Public 00009 * License as published by the Free Software Foundation; either 00010 * version 2.1 of the License, or any later version. 00011 * 00012 * This library is distributed in the hope that it will be useful, 00013 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00015 * Lesser General Public License for more details. 00016 * 00017 * You should have received a copy of the GNU Lesser General Public 00018 * License along with this library; if not, write to the Free Software 00019 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 00020 * USA 00021 * 00022 * Author : Philippe Delrieu 00023 * 00024 * Modifications : 00025 * 2004 Creation P.Delrieu 00026 * 2004 Modified by Romain Beaugrand 00027 * 00028 */ 00029 00030 package org.openmobileis.embedded.webserver.templates; 00031 00032 import javax.servlet.http.HttpServletResponse; 00033 00034 import freemarker.template.TemplateModelRoot; 00035 00036 00047 public interface TemplateManagerDelegate { 00048 00053 public void init(); 00054 00055 public void updateTemplateWithNavigationBarData(Object modelRoot, String data); 00056 00060 public TemplateModelRoot getTemplateModelRoot() ; 00061 00062 /* 00063 * Get the template called templateName (load it if it is not already done), 00064 * replace all variables tree of TemplateModelRoot in the template. 00065 * Write the HTTP response in the output stream with a basic header (mime type + status) 00066 * @param: String templateName the name of the template to use 00067 * @param: Hashtable variables (varName -> variable value) pairs 00068 * @param: HttpServletResponse response 00069 * @return: none 00070 * @OpenMSPException : IOEXception if an error occurs during sending data 00071 * @OpenMSPException : TemplateNotFoundException if the template is not found 00072 */ 00073 public void sendResponse (String templateName, TemplateModelRoot modelRoot, HttpServletResponse res) throws java.io.IOException, TemplateNotFoundException; 00074 00075 } 00076 00077 00078