View Javadoc
1 package org.apache.turbine.modules.actions; 2 3 /* ==================================================================== 4 * The Apache Software License, Version 1.1 5 * 6 * Copyright (c) 2001 The Apache Software Foundation. All rights 7 * reserved. 8 * 9 * Redistribution and use in source and binary forms, with or without 10 * modification, are permitted provided that the following conditions 11 * are met: 12 * 13 * 1. Redistributions of source code must retain the above copyright 14 * notice, this list of conditions and the following disclaimer. 15 * 16 * 2. Redistributions in binary form must reproduce the above copyright 17 * notice, this list of conditions and the following disclaimer in 18 * the documentation and/or other materials provided with the 19 * distribution. 20 * 21 * 3. The end-user documentation included with the redistribution, 22 * if any, must include the following acknowledgment: 23 * "This product includes software developed by the 24 * Apache Software Foundation (http://www.apache.org/)." 25 * Alternately, this acknowledgment may appear in the software itself, 26 * if and wherever such third-party acknowledgments normally appear. 27 * 28 * 4. The names "Apache" and "Apache Software Foundation" and 29 * "Apache Turbine" must not be used to endorse or promote products 30 * derived from this software without prior written permission. For 31 * written permission, please contact apache@apache.org. 32 * 33 * 5. Products derived from this software may not be called "Apache", 34 * "Apache Turbine", nor may "Apache" appear in their name, without 35 * prior written permission of the Apache Software Foundation. 36 * 37 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED 38 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 39 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 40 * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR 41 * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 42 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 43 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF 44 * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 45 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 46 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 47 * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 48 * SUCH DAMAGE. 49 * ==================================================================== 50 * 51 * This software consists of voluntary contributions made by many 52 * individuals on behalf of the Apache Software Foundation. For more 53 * information on the Apache Software Foundation, please see 54 * <http://www.apache.org/>;. 55 */ 56 57 import org.apache.turbine.modules.screens.TemplateScreen; 58 import org.apache.turbine.services.velocity.TurbineVelocity; 59 import org.apache.turbine.util.RunData; 60 import org.apache.turbine.util.velocity.VelocityActionEvent; 61 import org.apache.velocity.context.Context; 62 63 /*** 64 * This class provides a convenience methods for Velocity Actions 65 * to use. Since this class is abstract, it should only be extended 66 * and not used directly. 67 * 68 * @author <a href="mailto:jon@latchkey.com">Jon S. Stevens</a> 69 * @author <a href="mailto:jvanzyl@periapt.com">Jason van Zyl</a> 70 * @version $Id: VelocityAction.java,v 1.2 2002/07/11 16:53:30 mpoeschl Exp $ 71 */ 72 public abstract class VelocityAction extends VelocityActionEvent 73 { 74 /*** 75 * You SHOULD NOT override this method and implement it in your 76 * action. 77 * 78 * @param data Turbine information. 79 * @exception Exception, a generic exception. 80 */ 81 public void doPerform(RunData data) 82 throws Exception 83 { 84 doPerform(data, getContext(data)); 85 } 86 87 /*** 88 * You SHOULD override this method and implement it in your 89 * action. 90 * 91 * @param data Turbine information. 92 * @param context Context for web pages. 93 * @exception Exception, a generic exception. 94 */ 95 public abstract void doPerform(RunData data, 96 Context context) 97 throws Exception; 98 99 /*** 100 * Sets up the context and then calls super.perform(); thus, 101 * subclasses don't have to worry about getting a context 102 * themselves! 103 * 104 * @param data Turbine information. 105 * @exception Exception, a generic exception. 106 */ 107 protected void perform(RunData data) 108 throws Exception 109 { 110 super.perform(data); 111 } 112 113 /*** 114 * This method is used when you want to short circuit an Action 115 * and change the template that will be executed next. 116 * 117 * @param data Turbine information. 118 * @param template The template that will be executed next. 119 */ 120 public void setTemplate(RunData data, 121 String template) 122 { 123 TemplateScreen.setTemplate(data, template); 124 } 125 126 /*** 127 * Return the Context needed by Velocity. 128 * 129 * @param RunData data 130 * @return Context, a context for web pages. 131 */ 132 protected Context getContext(RunData data) 133 { 134 return TurbineVelocity.getContext(data); 135 } 136 }

This page was automatically generated by Maven