001: /*
002: * ====================================================================
003: * JAFFA - Java Application Framework For All
004: *
005: * Copyright (C) 2002 JAFFA Development Group
006: *
007: * This library is free software; you can redistribute it and/or
008: * modify it under the terms of the GNU Lesser General Public
009: * License as published by the Free Software Foundation; either
010: * version 2.1 of the License, or (at your option) any later version.
011: *
012: * This library is distributed in the hope that it will be useful,
013: * but WITHOUT ANY WARRANTY; without even the implied warranty of
014: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
015: * Lesser General Public License for more details.
016: *
017: * You should have received a copy of the GNU Lesser General Public
018: * License along with this library; if not, write to the Free Software
019: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
020: *
021: * Redistribution and use of this software and associated documentation ("Software"),
022: * with or without modification, are permitted provided that the following conditions are met:
023: * 1. Redistributions of source code must retain copyright statements and notices.
024: * Redistributions must also contain a copy of this document.
025: * 2. Redistributions in binary form must reproduce the above copyright notice,
026: * this list of conditions and the following disclaimer in the documentation
027: * and/or other materials provided with the distribution.
028: * 3. The name "JAFFA" must not be used to endorse or promote products derived from
029: * this Software without prior written permission. For written permission,
030: * please contact mail to: jaffagroup@yahoo.com.
031: * 4. Products derived from this Software may not be called "JAFFA" nor may "JAFFA"
032: * appear in their names without prior written permission.
033: * 5. Due credit should be given to the JAFFA Project (http://jaffa.sourceforge.net).
034: *
035: * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED
036: * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
037: * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
038: * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
039: * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
040: * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
041: * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
042: * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
043: * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
044: * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
045: * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
046: * SUCH DAMAGE.
047: * ====================================================================
048: */
049:
050: package org.jaffa.rules.metadata;
051:
052: import java.util.*;
053:
054: /** An instance of this class represents the 'field-validator' element of the Validator config file. */
055: public class FieldValidatorMetaData {
056:
057: private String m_name;
058: private String m_description;
059: private String m_className;
060: private boolean m_mandatory;
061: private Map m_parameters;
062:
063: /** Getter for the property name.
064: * @return Value of property name.
065: */
066: public String getName() {
067: return m_name;
068: }
069:
070: /** Setter for property name.
071: * @param name New value of property name.
072: */
073: public void setName(String name) {
074: m_name = name;
075: }
076:
077: /** Getter for the property description.
078: * @return Value of property description.
079: */
080: public String getDescription() {
081: return m_description;
082: }
083:
084: /** Setter for property description.
085: * @param description New value of property description.
086: */
087: public void setDescription(String description) {
088: m_description = description;
089: }
090:
091: /** Getter for the property className.
092: * @return Value of property className.
093: */
094: public String getClassName() {
095: return m_className;
096: }
097:
098: /** Setter for property className.
099: * @param className New value of property className.
100: */
101: public void setClassName(String className) {
102: m_className = className;
103: }
104:
105: /** Getter for the property mandatory.
106: * @return Value of property mandatory.
107: */
108: public boolean getMandatory() {
109: return m_mandatory;
110: }
111:
112: /** Setter for property mandatory.
113: * @param mandatory New value of property mandatory.
114: */
115: public void setMandatory(boolean mandatory) {
116: m_mandatory = mandatory;
117: }
118:
119: /** Clears the parameters.
120: */
121: public void clearParameters() {
122: if (m_parameters != null)
123: m_parameters.clear();
124: }
125:
126: /** Add a parameter.
127: * @param name The name of the parameter.
128: * @param value The value of the parameter.
129: */
130: public void addParameter(String name, String value) {
131: if (m_parameters == null)
132: m_parameters = new HashMap();
133: m_parameters.put(name, value);
134: }
135:
136: /** Getter for the property parameters.
137: * @return Value of property parameters.
138: */
139: public Map getParameters() {
140: return m_parameters;
141: }
142:
143: /** Returns the value of the parameter.
144: * @param name The name of the parameter.
145: * @return Value of the parameter.
146: */
147: public String getParameter(String name) {
148: if (m_parameters != null)
149: return (String) m_parameters.get(name);
150: else
151: return null;
152: }
153:
154: /** Returns diagnostic information.
155: * @return a String containing diagnostic information.
156: */
157: public String toString() {
158: StringBuffer buf = new StringBuffer("<FieldValidatorMetaData>");
159: buf.append("<name>");
160: if (m_name != null)
161: buf.append(m_name);
162: buf.append("</name>");
163: buf.append("<description>");
164: if (m_description != null)
165: buf.append(m_description);
166: buf.append("</description>");
167: buf.append("<className>");
168: if (m_className != null)
169: buf.append(m_className);
170: buf.append("</className>");
171: buf.append("<mandatory>");
172: buf.append(m_mandatory);
173: buf.append("</mandatory>");
174: if (m_parameters != null) {
175: for (Iterator i = m_parameters.entrySet().iterator(); i
176: .hasNext();) {
177: buf.append("<parameter>");
178: Map.Entry me = (Map.Entry) i.next();
179: buf.append("<name>");
180: buf.append(me.getKey());
181: buf.append("</name>");
182: buf.append("<value>");
183: buf.append(me.getValue());
184: buf.append("</value>");
185: buf.append("</parameter>");
186: }
187: }
188: buf.append("</FieldValidatorMetaData>");
189: return buf.toString();
190: }
191: }
|