001 /*
002 Licensed to the Apache Software Foundation (ASF) under one
003 or more contributor license agreements. See the NOTICE file
004 distributed with this work for additional information
005 regarding copyright ownership. The ASF licenses this file
006 to you under the Apache License, Version 2.0 (the
007 "License"); you may not use this file except in compliance
008 with the License. You may obtain a copy of the License at
009
010 http://www.apache.org/licenses/LICENSE-2.0
011
012 Unless required by applicable law or agreed to in writing,
013 software distributed under the License is distributed on an
014 "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
015 KIND, either express or implied. See the License for the
016 specific language governing permissions and limitations
017 under the License.
018 */
019 package org.apache.wiki.forms;
020
021 import java.io.Serializable;
022 import java.util.HashMap;
023 import java.util.Map;
024
025 /**
026 * Container for carrying HTTP FORM information between
027 * WikiPlugin invocations in the Session.
028 */
029 public class FormInfo implements Serializable {
030 private static final long serialVersionUID = 0L;
031
032 /**
033 * State: Form is executed.
034 */
035 public static final int EXECUTED = 1;
036
037 /**
038 * State: Form is OK.
039 */
040 public static final int OK = 0;
041
042 /**
043 * State: There was an error.
044 */
045 public static final int ERROR = -1;
046
047 private int m_status;
048 private boolean m_hide;
049 private String m_action;
050 private String m_name;
051 private String m_handler;
052 private String m_result;
053 private String m_error;
054 private Map<String, String> m_submission;
055
056 /**
057 * Creates a new FormInfo with status == OK.
058 */
059 public FormInfo() {
060 m_status = OK;
061 }
062
063 /**
064 * Set the status of the Form processing.
065 *
066 * @param val EXECUTED, OK or ERROR.
067 */
068 public void setStatus(int val) {
069 m_status = val;
070 }
071
072 /**
073 * Return the status.
074 *
075 * @return The status.
076 */
077 public int getStatus() {
078 return m_status;
079 }
080
081 /**
082 * Set the hide parameter.
083 *
084 * @param val True or false.
085 */
086 public void setHide(boolean val) {
087 m_hide = val;
088 }
089
090 /**
091 * Returns true, if the form is supposed to be hidden.
092 *
093 * @return True or false.
094 */
095 public boolean hide() {
096 return m_hide;
097 }
098
099 /**
100 * Set the value of the action parameter.
101 *
102 * @param val A value parameter.
103 */
104 public void setAction(String val) {
105 m_action = val;
106 }
107
108 /**
109 * Get the action set in {@link #setAction(String)}.
110 *
111 * @return An Action.
112 */
113 public String getAction() {
114 return m_action;
115 }
116
117 /**
118 * Sets the name of the form.
119 *
120 * @param val The name of the form.
121 */
122 public void setName(String val) {
123 m_name = val;
124 }
125
126 /**
127 * Return the name of the form.
128 *
129 * @return The name of the form.
130 */
131 public String getName() {
132 return m_name;
133 }
134
135 /**
136 * Set the name of the handler class.
137 *
138 * @param val The name of the class.
139 */
140 public void setHandler(String val) {
141 m_handler = val;
142 }
143
144 /**
145 * Return the name of the handler class.
146 *
147 * @return The name of the class.
148 */
149 public String getHandler() {
150 return m_handler;
151 }
152
153 /**
154 * Set the result.
155 *
156 * @param val The result.
157 */
158 public void setResult(String val) {
159 m_result = val;
160 }
161
162 /**
163 * Return the result.
164 *
165 * @return The result.
166 */
167 public String getResult() {
168 return m_result;
169 }
170
171 /**
172 * Set an error string.
173 *
174 * @param val An error string.
175 */
176 public void setError(String val) {
177 m_error = val;
178 }
179
180 /**
181 * Return the error.
182 *
183 * @return The error.
184 */
185 public String getError() {
186 return m_error;
187 }
188
189 /**
190 * Copies the given values into the handler parameter map using Map.putAll().
191 *
192 * @param val parameter name-value pairs for a Form handler WikiPlugin
193 */
194 public void setSubmission(Map<String, String> val) {
195 m_submission = new HashMap<String, String>();
196 m_submission.putAll(val);
197 }
198
199 /**
200 * Adds the given values into the handler parameter map.
201 *
202 * @param val parameter name-value pairs for a Form handler WikiPlugin
203 */
204 public void addSubmission(Map<String, String> val) {
205 if (m_submission == null) {
206 m_submission = new HashMap<String, String>();
207 }
208 m_submission.putAll(val);
209 }
210
211 /**
212 * Returns parameter name-value pairs for a Form handler WikiPlugin.
213 * The names are those of Form input fields, and the values whatever
214 * the user selected in the form. The FormSet plugin can also be used
215 * to provide initial values.
216 *
217 * @return Handler parameter name-value pairs.
218 */
219 public Map<String, String> getSubmission() {
220 return m_submission;
221 }
222 }