01: package org.apache.turbine.modules;
02:
03: /*
04: * Copyright 2001-2005 The Apache Software Foundation.
05: *
06: * Licensed under the Apache License, Version 2.0 (the "License")
07: * you may not use this file except in compliance with the License.
08: * You may obtain a copy of the License at
09: *
10: * http://www.apache.org/licenses/LICENSE-2.0
11: *
12: * Unless required by applicable law or agreed to in writing, software
13: * distributed under the License is distributed on an "AS IS" BASIS,
14: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15: * See the License for the specific language governing permissions and
16: * limitations under the License.
17: */
18:
19: import org.apache.turbine.util.RunData;
20:
21: /**
22: * Generic Action class.
23: *
24: * @author <a href="mailto:mbryson@mont.mindspring.com">Dave Bryson</a>
25: * @version $Id: Action.java 264148 2005-08-29 14:21:04Z henning $
26: */
27: public abstract class Action extends Assembler {
28: /**
29: * A subclass must override this method to perform itself. The
30: * Action can also set the screen that is associated with RunData.
31: *
32: * @param data Turbine information.
33: * @exception Exception a generic exception.
34: */
35: public abstract void doPerform(RunData data) throws Exception;
36:
37: /**
38: * Subclasses can override this method to add additional
39: * functionality. This method is protected to force clients to
40: * use ActionLoader to perform an Action.
41: *
42: * @param data Turbine information.
43: * @exception Exception a generic exception.
44: */
45: protected void perform(RunData data) throws Exception {
46: doPerform(data);
47: }
48: }
|