View Javadoc

1   /*
2    * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
3    *
4    * This software is open source.
5    * See the bottom of this file for the licence.
6    */
7   
8   package org.dom4j.dtd;
9   
10  /***
11   * <p>
12   * <code>AttributeDecl</code> represents an attribute declaration in a DTD.
13   * </p>
14   * 
15   * @author <a href="mailto:james.strachan@metastuff.com">James Strachan </a>
16   * @version $Revision: 1.7 $
17   */
18  public class AttributeDecl {
19      /*** Holds value of property elementName. */
20      private String elementName;
21  
22      /*** Holds value of property attributeName. */
23      private String attributeName;
24  
25      /*** Holds value of property type. */
26      private String type;
27  
28      /*** Holds value of property value. */
29      private String value;
30  
31      /*** Holds value of property valueDefault. */
32      private String valueDefault;
33  
34      public AttributeDecl() {
35      }
36  
37      public AttributeDecl(String elementName, String attributeName, String type,
38              String valueDefault, String value) {
39          this.elementName = elementName;
40          this.attributeName = attributeName;
41          this.type = type;
42          this.value = value;
43          this.valueDefault = valueDefault;
44      }
45  
46      /***
47       * Getter for property elementName.
48       * 
49       * @return Value of property elementName.
50       */
51      public String getElementName() {
52          return elementName;
53      }
54  
55      /***
56       * Setter for property elementName.
57       * 
58       * @param elementName
59       *            New value of property elementName.
60       */
61      public void setElementName(String elementName) {
62          this.elementName = elementName;
63      }
64  
65      /***
66       * Getter for property attributeName.
67       * 
68       * @return Value of property attributeName.
69       */
70      public String getAttributeName() {
71          return attributeName;
72      }
73  
74      /***
75       * Setter for property attributeName.
76       * 
77       * @param attributeName
78       *            New value of property attributeName.
79       */
80      public void setAttributeName(String attributeName) {
81          this.attributeName = attributeName;
82      }
83  
84      /***
85       * Getter for property type.
86       * 
87       * @return Value of property type.
88       */
89      public String getType() {
90          return type;
91      }
92  
93      /***
94       * Setter for property type.
95       * 
96       * @param type
97       *            New value of property type.
98       */
99      public void setType(String type) {
100         this.type = type;
101     }
102 
103     /***
104      * Getter for property value.
105      * 
106      * @return Value of property value.
107      */
108     public String getValue() {
109         return value;
110     }
111 
112     /***
113      * Setter for property value.
114      * 
115      * @param value
116      *            New value of property value.
117      */
118     public void setValue(String value) {
119         this.value = value;
120     }
121 
122     /***
123      * Getter for property valueDefault.
124      * 
125      * @return Value of property valueDefault.
126      */
127     public String getValueDefault() {
128         return valueDefault;
129     }
130 
131     /***
132      * Setter for property valueDefault.
133      * 
134      * @param valueDefault
135      *            New value of property valueDefault.
136      */
137     public void setValueDefault(String valueDefault) {
138         this.valueDefault = valueDefault;
139     }
140 
141     public String toString() {
142         StringBuffer buffer = new StringBuffer("<!ATTLIST ");
143         buffer.append(elementName);
144         buffer.append(" ");
145         buffer.append(attributeName);
146         buffer.append(" ");
147         buffer.append(type);
148         buffer.append(" ");
149 
150         if (valueDefault != null) {
151             buffer.append(valueDefault);
152 
153             if (valueDefault.equals("#FIXED")) {
154                 buffer.append(" \"");
155                 buffer.append(value);
156                 buffer.append("\"");
157             }
158         } else {
159             buffer.append("\"");
160             buffer.append(value);
161             buffer.append("\"");
162         }
163 
164         buffer.append(">");
165 
166         return buffer.toString();
167     }
168 }
169 
170 /*
171  * Redistribution and use of this software and associated documentation
172  * ("Software"), with or without modification, are permitted provided that the
173  * following conditions are met:
174  * 
175  * 1. Redistributions of source code must retain copyright statements and
176  * notices. Redistributions must also contain a copy of this document.
177  * 
178  * 2. Redistributions in binary form must reproduce the above copyright notice,
179  * this list of conditions and the following disclaimer in the documentation
180  * and/or other materials provided with the distribution.
181  * 
182  * 3. The name "DOM4J" must not be used to endorse or promote products derived
183  * from this Software without prior written permission of MetaStuff, Ltd. For
184  * written permission, please contact dom4j-info@metastuff.com.
185  * 
186  * 4. Products derived from this Software may not be called "DOM4J" nor may
187  * "DOM4J" appear in their names without prior written permission of MetaStuff,
188  * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
189  * 
190  * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
191  * 
192  * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
193  * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
194  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
195  * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
196  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
197  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
198  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
199  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
200  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
201  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
202  * POSSIBILITY OF SUCH DAMAGE.
203  * 
204  * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
205  */