001: /*
002: * $Id: MultiboxActionForm.java 471754 2006-11-06 14:55:09Z husted $
003: *
004: * Licensed to the Apache Software Foundation (ASF) under one
005: * or more contributor license agreements. See the NOTICE file
006: * distributed with this work for additional information
007: * regarding copyright ownership. The ASF licenses this file
008: * to you under the Apache License, Version 2.0 (the
009: * "License"); you may not use this file except in compliance
010: * with the License. You may obtain a copy of the License at
011: *
012: * http://www.apache.org/licenses/LICENSE-2.0
013: *
014: * Unless required by applicable law or agreed to in writing,
015: * software distributed under the License is distributed on an
016: * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
017: * KIND, either express or implied. See the License for the
018: * specific language governing permissions and limitations
019: * under the License.
020: */
021:
022: package examples.multibox;
023:
024: import javax.servlet.http.HttpServletRequest;
025:
026: import org.apache.struts.action.ActionErrors;
027: import org.apache.struts.action.ActionForm;
028: import org.apache.struts.action.ActionMapping;
029:
030: /**
031: * An ActionForm for the Multibox examples
032: *
033: * @version $Rev: 471754 $ $Date: 2006-11-06 08:55:09 -0600 (Mon, 06 Nov 2006) $
034: */
035: public class MultiboxActionForm extends ActionForm {
036:
037: // ------------------------------------------------------ Instance Variables
038:
039: /** Fruits */
040: private String[] fruits = {};
041:
042: /** Colors */
043: private String[] colors = {};
044:
045: // ------------------------------------------------------------ Constructors
046:
047: /**
048: * Constructor for MultiboxActionForm.
049: */
050: public MultiboxActionForm() {
051: super ();
052: }
053:
054: // ---------------------------------------------------------- Public Methods
055:
056: /**
057: * Clear all checkboxes
058: *
059: * @param mapping The mapping used to select this instance
060: * @param request The servlet request we are processing
061: */
062: public void reset(ActionMapping mapping, HttpServletRequest request) {
063:
064: /*
065: * The ActionForm reset method should only be used to *clear*
066: * checkboxes. The correct place to *set* default checkbox values is in
067: * the 'prepare' action, called prior to displaying the form page.
068: */
069: String[] empty = {};
070: this .fruits = empty;
071: this .colors = empty;
072:
073: }
074:
075: /**
076: * Validate the properties that have been set from this HTTP request,
077: * and return an <code>ActionMessages</code> object that encapsulates any
078: * validation errors that have been found. If no errors are found, return
079: * <code>null</code> or an <code>ActionMessages</code> object with no
080: * recorded error messages.
081: *
082: * @param mapping The mapping used to select this instance
083: * @param request The servlet request we are processing
084: *
085: * @return ActionMessages if any validation errors occurred
086: */
087: public ActionErrors validate(ActionMapping mapping,
088: HttpServletRequest request) {
089:
090: /*
091: * We're not doing any validation (yet) so return null to
092: * indicate that there were no errors. (We don't
093: * actually need to override this nethod unles we're doing
094: * validation - but it's here for reference)
095: */
096: return null;
097: }
098:
099: // -------------------------------------------------------------- Properties
100:
101: /**
102: * Returns the colors.
103: * @return String[]
104: */
105: public String[] getColors() {
106: return colors;
107: }
108:
109: /**
110: * Returns the fruits.
111: * @return String[]
112: */
113: public String[] getFruits() {
114: return fruits;
115: }
116:
117: /**
118: * Sets the colors.
119: * @param colors The colors to set
120: */
121: public void setColors(String[] colors) {
122: this .colors = colors;
123: }
124:
125: /**
126: * Sets the fruits.
127: * @param fruits The fruits to set
128: */
129: public void setFruits(String[] fruits) {
130: this.fruits = fruits;
131: }
132:
133: }
|