View Javadoc
1 /* 2 * $Header: /home/cvs/jakarta-commons/validator/src/share/org/apache/commons/validator/FormSet.java,v 1.15 2004/02/21 17:10:29 rleland Exp $ 3 * $Revision: 1.15 $ 4 * $Date: 2004/02/21 17:10:29 $ 5 * 6 * ==================================================================== 7 * Copyright 2001-2004 The Apache Software Foundation 8 * 9 * Licensed under the Apache License, Version 2.0 (the "License"); 10 * you may not use this file except in compliance with the License. 11 * You may obtain a copy of the License at 12 * 13 * http://www.apache.org/licenses/LICENSE-2.0 14 * 15 * Unless required by applicable law or agreed to in writing, software 16 * distributed under the License is distributed on an "AS IS" BASIS, 17 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 18 * See the License for the specific language governing permissions and 19 * limitations under the License. 20 */ 21 22 package org.apache.commons.validator; 23 24 import java.io.Serializable; 25 import java.util.Collections; 26 import java.util.HashMap; 27 import java.util.Iterator; 28 import java.util.Map; 29 30 /*** 31 * Holds a set of <code>Form</code>s stored associated with a 32 * <code>Locale</code> based on the country, language, and variant specified. 33 * Instances of this class are configured with a <formset> xml element. 34 */ 35 public class FormSet implements Serializable { 36 37 /*** 38 * Whether or not the this <code>FormSet</code> was processed 39 * for replacing variables in strings with their values. 40 */ 41 private boolean processed = false; 42 43 /*** 44 * Language component of <code>Locale</code> (required). 45 */ 46 private String language = null; 47 48 /*** 49 * Country component of <code>Locale</code> (optional). 50 */ 51 private String country = null; 52 53 /*** 54 * Variant component of <code>Locale</code> (optional). 55 */ 56 private String variant = null; 57 58 /*** 59 * A <code>Map</code> of <code>Form</code>s 60 * using the name field of the <code>Form</code> as the key. 61 */ 62 private Map forms = new HashMap(); 63 64 /*** 65 * A <code>Map</code> of <code>Constant</code>s 66 * using the name field of the <code>Constant</code> as the key. 67 */ 68 private Map constants = new HashMap(); 69 70 /*** 71 * Whether or not the this <code>FormSet</code> was processed 72 * for replacing variables in strings with their values. 73 */ 74 public boolean isProcessed() { 75 return processed; 76 } 77 78 /*** 79 * Gets the equivalent of the language component of <code>Locale</code>. 80 */ 81 public String getLanguage() { 82 return language; 83 } 84 85 /*** 86 * Sets the equivalent of the language component of <code>Locale</code>. 87 */ 88 public void setLanguage(String language) { 89 this.language = language; 90 } 91 92 /*** 93 * Gets the equivalent of the country component of <code>Locale</code>. 94 */ 95 public String getCountry() { 96 return country; 97 } 98 99 /*** 100 * Sets the equivalent of the country component of <code>Locale</code>. 101 */ 102 public void setCountry(String country) { 103 this.country = country; 104 } 105 106 /*** 107 * Gets the equivalent of the variant component of <code>Locale</code>. 108 */ 109 public String getVariant() { 110 return variant; 111 } 112 113 /*** 114 * Sets the equivalent of the variant component of <code>Locale</code>. 115 */ 116 public void setVariant(String variant) { 117 this.variant = variant; 118 } 119 120 /*** 121 * Add a <code>Constant</code> (locale level). 122 * @deprecated Use addConstant(String, String) instead. 123 */ 124 public void addConstant(Constant c) { 125 if (c.getName() != null && c.getName().length() > 0 && 126 c.getValue() != null && c.getValue().length() > 0) { 127 128 constants.put(c.getName(), c.getValue()); 129 } 130 } 131 132 /*** 133 * Add a <code>Constant</code> to the locale level. 134 * @deprecated Use addConstant(String, String) instead. 135 */ 136 public void addConstantParam(String name, String value) { 137 if (name != null && name.length() > 0 && 138 value != null && value.length() > 0) { 139 140 constants.put(name, value); 141 } 142 } 143 144 /*** 145 * Add a <code>Constant</code> to the locale level. 146 */ 147 public void addConstant(String name, String value) { 148 this.constants.put(name, value); 149 } 150 151 /*** 152 * Add a <code>Form</code> to the <code>FormSet</code>. 153 */ 154 public void addForm(Form f) { 155 forms.put(f.getName(), f); 156 } 157 158 /*** 159 * Retrieve a <code>Form</code> based on the form name. 160 * @deprecated Use getForm(String) instead. 161 */ 162 public Form getForm(Object key) { 163 return (Form) this.forms.get(key); 164 } 165 166 /*** 167 * Retrieve a <code>Form</code> based on the form name. 168 */ 169 public Form getForm(String formName) { 170 return (Form) this.forms.get(formName); 171 } 172 173 /*** 174 * A <code>Map</code> of <code>Form</code>s is returned as an 175 * unmodifiable <code>Map</code> with the key based on the form name. 176 */ 177 public Map getForms() { 178 return Collections.unmodifiableMap(forms); 179 } 180 181 /*** 182 * Processes all of the <code>Form</code>s. 183 * @deprecated This method is called by the framework. It will be made protected 184 * in a future release. TODO 185 */ 186 public synchronized void process(Map globalConstants) { 187 for (Iterator i = forms.values().iterator(); i.hasNext();) { 188 Form f = (Form) i.next(); 189 f.process(globalConstants, constants); 190 } 191 192 processed = true; 193 } 194 195 /*** 196 * Returns a string representation of the object. 197 */ 198 public String toString() { 199 StringBuffer results = new StringBuffer(); 200 201 results.append("FormSet: language="); 202 results.append(language); 203 results.append(" country="); 204 results.append(country); 205 results.append(" variant="); 206 results.append(variant); 207 results.append("\n"); 208 209 for (Iterator i = getForms().values().iterator(); i.hasNext();) { 210 results.append(" "); 211 results.append(i.next()); 212 results.append("\n"); 213 } 214 215 return results.toString(); 216 } 217 218 }

This page was automatically generated by Maven