1 /* 2 * SSL-Explorer 3 * 4 * Copyright (C) 2003-2006 3SP LTD. All Rights Reserved 5 * 6 * This program is free software; you can redistribute it and/or 7 * modify it under the terms of the GNU General Public License 8 * as published by the Free Software Foundation; either version 2 of 9 * the License, or (at your option) any later version. 10 * This program is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU General Public License for more details. 14 * 15 * You should have received a copy of the GNU General Public 16 * License along with this program; if not, write to the Free Software 17 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 18 */ 19 20 package com.sslexplorer.applications; 21 22 import java.util.Map; 23 24 import javax.servlet.http.HttpServletRequest; 25 26 import org.apache.struts.action.ActionForward; 27 import org.apache.struts.action.ActionMapping; 28 29 import com.sslexplorer.extensions.ExtensionDescriptor; 30 import com.sslexplorer.extensions.ExtensionException; 31 import com.sslexplorer.extensions.ExtensionType; 32 import com.sslexplorer.policyframework.LaunchSession; 33 34 /** 35 * Extension of {@link ExtensionType} for extensions that provide <i>Application Extension</i> 36 * that may have <i>Application Shortcuts</i> created for them and may be <i>Launched</i> 37 * by a user. 38 * 39 * @author Brett Smith <a HREF="mailto: brett@3sp.com"><brett@3sp.com></a> 40 */ 41 public interface ApplicationLauncherType extends ExtensionType { 42 43 /** 44 * Launch the application. 45 * 46 * @param parameters shortcut parameters 47 * @param descriptor extension descriptor 48 * @param shortcut shortcut 49 * @param mapping mapping 50 * @param launchSession launch session 51 * @param returnTo forward to return to or <code>null</code> to return to default 52 * @return forward or <code>null</code> for default redirect after launch 53 * @throws ExtensionException 54 */ 55 public ActionForward launch(Map<String, String> parameters, ExtensionDescriptor descriptor, ApplicationShortcut shortcut, ActionMapping mapping, LaunchSession launchSession, String returnTo, HttpServletRequest request) 56 throws ExtensionException; 57 58 /** 59 * Get if the agent is required for this launch. 60 * 61 * @param shortcut shortcut 62 * @param descriptor descriptor 63 * @return agent required 64 */ 65 public boolean isAgentRequired(ApplicationShortcut shortcut, ExtensionDescriptor descriptor); 66 67 /** 68 * Get if the this launcher is a server side launchers. 69 * 70 * @return server side 71 */ 72 public boolean isServerSide(); 73 74 } 75