1 /* 2 * $Id$ 3 * 4 * Licensed to the Apache Software Foundation (ASF) under one 5 * or more contributor license agreements. See the NOTICE file 6 * distributed with this work for additional information 7 * regarding copyright ownership. The ASF licenses this file 8 * to you under the Apache License, Version 2.0 (the 9 * "License"); you may not use this file except in compliance 10 * with the License. You may obtain a copy of the License at 11 * 12 * http://www.apache.org/licenses/LICENSE-2.0 13 * 14 * Unless required by applicable law or agreed to in writing, 15 * software distributed under the License is distributed on an 16 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 17 * KIND, either express or implied. See the License for the 18 * specific language governing permissions and limitations 19 * under the License. 20 */ 21 22 package org.apache.struts.scripting; 23 24 import org.apache.struts.action.ActionForm; 25 import org.apache.struts.action.ActionForward; 26 import org.apache.struts.action.ActionMapping; 27 import org.apache.struts.util.MessageResources; 28 29 30 /** 31 * Holds Struts objects. 32 */ 33 public class StrutsInfo { 34 35 /** Forward name. */ 36 private String forwardName = null; 37 38 /** Forward object. */ 39 private ActionForward forward = null; 40 41 /** ActionForm for this request. */ 42 private ActionForm form = null; 43 44 /** ActionMapping for this request. */ 45 private ActionMapping mapping = null; 46 47 /** ScriptAction instance for this request. */ 48 private ScriptAction action = null; 49 50 /** The message resources for this request. */ 51 private MessageResources res = null; 52 53 /** 54 * Constructor. 55 * 56 * @param action The action instance 57 * @param mapping The action mapping 58 * @param form The action form 59 * @param res The message resources for the current locale 60 */ 61 public StrutsInfo(ScriptAction action, ActionMapping mapping, 62 ActionForm form, MessageResources res) { 63 this.action = action; 64 this.mapping = mapping; 65 this.form = form; 66 this.res = res; 67 } 68 69 /** 70 * Sets the forward name. 71 * 72 * @param f The forward name 73 */ 74 public void setForwardName(String f) { 75 forwardName = f; 76 } 77 78 /** 79 * Gets the forward object. If none is set, it tries to find the set 80 * forward name. 81 * 82 * @return The action forward 83 */ 84 public ActionForward getForward() { 85 if (forward == null) { 86 if (forwardName != null) { 87 return mapping.findForward(forwardName); 88 } 89 } 90 return forward; 91 } 92 93 /** 94 * Sets the action forward object. 95 * 96 * @param f The action forward 97 */ 98 public void setForward(ActionForward f) { 99 forward = f; 100 } 101 102 /** 103 * Sets the action form. 104 * 105 * @param form The action form 106 */ 107 public void setForm(ActionForm form) { 108 this.form = form; 109 } 110 111 /** 112 * Sets the action mapping. 113 * 114 * @param mapping The action mapping 115 */ 116 public void setMapping(ActionMapping mapping) { 117 this.mapping = mapping; 118 } 119 120 /** 121 * Sets the action instance. 122 * 123 * @param action The Struts action 124 */ 125 public void setAction(ScriptAction action) { 126 this.action = action; 127 } 128 129 /** 130 * Sets the message resources. 131 * 132 * @param res The message resources 133 */ 134 public void setMessages(MessageResources res) { 135 this.res = res; 136 } 137 138 /** 139 * Gets the action form. 140 * 141 * @return The action form 142 */ 143 public ActionForm getForm() { 144 return form; 145 } 146 147 /** 148 * Gets the action mapping. 149 * 150 * @return The action mapping 151 */ 152 public ActionMapping getMapping() { 153 return mapping; 154 } 155 156 /** 157 * Gets the action instance. 158 * 159 * @return The Struts action 160 */ 161 public ScriptAction getAction() { 162 return action; 163 } 164 165 /** 166 * Gets the message resources. 167 * 168 * @return The message resources 169 */ 170 public MessageResources getMessages() { 171 return res; 172 } 173 }