001    /**
002     * Copyright (c) 2000-2012 Liferay, Inc. All rights reserved.
003     *
004     * This library is free software; you can redistribute it and/or modify it under
005     * the terms of the GNU Lesser General Public License as published by the Free
006     * Software Foundation; either version 2.1 of the License, or (at your option)
007     * any later version.
008     *
009     * This library is distributed in the hope that it will be useful, but WITHOUT
010     * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
011     * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
012     * details.
013     */
014    
015    package com.liferay.portlet.layoutconfiguration.util;
016    
017    import com.liferay.portal.model.Portlet;
018    import com.liferay.portlet.layoutconfiguration.util.xml.RuntimeLogic;
019    
020    import javax.portlet.RenderRequest;
021    import javax.portlet.RenderResponse;
022    
023    import javax.servlet.ServletContext;
024    import javax.servlet.http.HttpServletRequest;
025    import javax.servlet.http.HttpServletResponse;
026    import javax.servlet.jsp.JspWriter;
027    import javax.servlet.jsp.PageContext;
028    
029    /**
030     * @author Brian Wing Shun Chan
031     * @author Raymond Augé
032     * @author Shuyang Zhou
033     */
034    public interface RuntimePortlet {
035    
036            public String processCustomizationSettings(
037                            ServletContext servletContext, HttpServletRequest request,
038                            HttpServletResponse response, PageContext pageContext,
039                            String velocityTemplateId, String velocityTemplateContent)
040                    throws Exception;
041    
042            public String processPortlet(
043                            ServletContext servletContext, HttpServletRequest request,
044                            HttpServletResponse response, Portlet portlet, String queryString,
045                            String columnId, Integer columnPos, Integer columnCount,
046                            String path, boolean writeOutput)
047                    throws Exception;
048    
049            public String processPortlet(
050                            ServletContext servletContext, HttpServletRequest request,
051                            HttpServletResponse response, RenderRequest renderRequest,
052                            RenderResponse renderResponse, Portlet portlet, String portletId,
053                            String queryString, String columnId, Integer columnPos,
054                            Integer columnCount, String path, boolean writeOutput)
055                    throws Exception;
056    
057            public String processPortlet(
058                            ServletContext servletContext, HttpServletRequest request,
059                            HttpServletResponse response, RenderRequest renderRequest,
060                            RenderResponse renderResponse, String portletId, String queryString,
061                            boolean writeOutput)
062                    throws Exception;
063    
064            public String processPortlet(
065                            ServletContext servletContext, HttpServletRequest request,
066                            HttpServletResponse response, RenderRequest renderRequest,
067                            RenderResponse renderResponse, String portletId, String queryString,
068                            String columnId, Integer columnPos, Integer columnCount,
069                            boolean writeOutput)
070                    throws Exception;
071    
072            public void processTemplate(
073                            ServletContext servletContext, HttpServletRequest request,
074                            HttpServletResponse response, PageContext pageContext,
075                            JspWriter jspWriter, String velocityTemplateId,
076                            String velocityTemplateContent)
077                    throws Exception;
078    
079            public void processTemplate(
080                            ServletContext servletContext, HttpServletRequest request,
081                            HttpServletResponse response, PageContext pageContext,
082                            JspWriter jspWriter, String portletId, String velocityTemplateId,
083                            String velocityTemplateContent)
084                    throws Exception;
085    
086            public String processXML(
087                            HttpServletRequest request, String content,
088                            RuntimeLogic runtimeLogic)
089                    throws Exception;
090    
091    }