001: package org.apache.turbine.services.intake.xmlmodel;
002:
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: import java.io.Serializable;
023:
024: import org.apache.turbine.services.intake.validator.Constraint;
025:
026: import org.xml.sax.Attributes;
027:
028: /**
029: * A Class for holding data about a constraint on a property.
030: *
031: * @author <a href="mailto:jmcnally@collab.net">John McNally</a>
032: * @version $Id: Rule.java 534527 2007-05-02 16:10:59Z tv $
033: */
034: public class Rule implements Constraint, Serializable {
035: /** Serial Version UID */
036: private static final long serialVersionUID = 3662886424992562964L;
037:
038: private String name;
039: private String value;
040: private String message;
041: private XmlField parent;
042:
043: /**
044: * Default Constructor
045: */
046: public Rule() {
047: }
048:
049: /**
050: * Imports a column from an XML specification
051: */
052: public void loadFromXML(Attributes attrib) {
053: setName(attrib.getValue("name"));
054: setValue(attrib.getValue("value"));
055: }
056:
057: /**
058: * Set the name of the parameter
059: */
060: public void setName(String newName) {
061: name = newName;
062: }
063:
064: /**
065: * Get the name of the parameter
066: */
067: public String getName() {
068: return name;
069: }
070:
071: /**
072: * Set the value of the parameter
073: */
074: public void setValue(String newValue) {
075: value = newValue;
076: }
077:
078: /**
079: * Get the value of the parameter
080: */
081: public String getValue() {
082: return value;
083: }
084:
085: /**
086: * Set the error message
087: */
088: public void setMessage(String newMessage) {
089: message = newMessage;
090: }
091:
092: /**
093: * Get the error message
094: */
095: public String getMessage() {
096: return message;
097: }
098:
099: /**
100: * Set the parent Field of the rule
101: */
102: public void setField(XmlField parent) {
103: this .parent = parent;
104: }
105:
106: /**
107: * Get the parent Field of the rule
108: */
109: public XmlField getField() {
110: return parent;
111: }
112:
113: /**
114: * String representation of the column. This
115: * is an xml representation.
116: */
117: public String toString() {
118: StringBuffer result = new StringBuffer(100);
119:
120: result.append("<rule name=\"" + name + "\"").append(
121: " value=\"" + value + "\"");
122:
123: if (message == null) {
124: result.append(" />\n");
125: } else {
126: result.append(">").append(message).append("</rule>\n");
127: }
128:
129: return result.toString();
130: }
131:
132: }
|