1 /*
2 * Copyright 2001-2004 (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 * $Id: ExternalEntityDecl.java,v 1.7 2004/06/25 08:03:36 maartenc Exp $
8 */
9
10 package org.dom4j.dtd;
11
12 /*** <p><code>ExternalEntityDecl</code> represents an external entity declaration in a DTD.</p>
13 *
14 * @author <a href="mailto:james.strachan@metastuff.com">James Strachan</a>
15 * @version $Revision: 1.7 $
16 */
17 public class ExternalEntityDecl {
18
19 /*** Holds value of property name. */
20 private String name;
21
22 /*** Holds value of property publicID. */
23 private String publicID;
24
25 /*** Holds value of property systemID. */
26 private String systemID;
27
28 public ExternalEntityDecl() {
29 }
30
31 public ExternalEntityDecl(String name, String publicID, String systemID) {
32 this.name = name;
33 this.publicID = publicID;
34 this.systemID = systemID;
35 }
36
37 /*** Getter for property name.
38 * @return Value of property name.
39 */
40 public String getName() {
41 return name;
42 }
43
44 /*** Setter for property name.
45 * @param name New value of property name.
46 */
47 public void setName(String name) {
48 this.name = name;
49 }
50
51 /*** Getter for property publicID.
52 * @return Value of property publicID.
53 */
54 public String getPublicID() {
55 return publicID;
56 }
57
58 /*** Setter for property publicID.
59 * @param publicID New value of property publicID.
60 */
61 public void setPublicID(String publicID) {
62 this.publicID = publicID;
63 }
64
65 /*** Getter for property systemID.
66 * @return Value of property systemID.
67 */
68 public String getSystemID() {
69 return systemID;
70 }
71
72 /*** Setter for property systemID.
73 * @param systemID New value of property systemID.
74 */
75 public void setSystemID(String systemID) {
76 this.systemID = systemID;
77 }
78
79 public String toString() {
80 StringBuffer buffer = new StringBuffer( "<!ENTITY " );
81
82 if (name.startsWith("%")) {
83 buffer.append("% ");
84 buffer.append(name.substring(1));
85 }
86 else {
87 buffer.append(name);
88 }
89
90 if (publicID != null) {
91 buffer.append(" PUBLIC \"");
92 buffer.append(publicID);
93 buffer.append("\" ");
94 if (systemID != null) {
95 buffer.append("\"");
96 buffer.append(systemID);
97 buffer.append("\" ");
98 }
99 }
100 else if (systemID != null) {
101 buffer.append(" SYSTEM \"");
102 buffer.append(systemID);
103 buffer.append("\" ");
104 }
105 buffer.append(">");
106 return buffer.toString();
107 }
108 }
109
110
111
112
113 /*
114 * Redistribution and use of this software and associated documentation
115 * ("Software"), with or without modification, are permitted provided
116 * that the following conditions are met:
117 *
118 * 1. Redistributions of source code must retain copyright
119 * statements and notices. Redistributions must also contain a
120 * copy of this document.
121 *
122 * 2. Redistributions in binary form must reproduce the
123 * above copyright notice, this list of conditions and the
124 * following disclaimer in the documentation and/or other
125 * materials provided with the distribution.
126 *
127 * 3. The name "DOM4J" must not be used to endorse or promote
128 * products derived from this Software without prior written
129 * permission of MetaStuff, Ltd. For written permission,
130 * please contact dom4j-info@metastuff.com.
131 *
132 * 4. Products derived from this Software may not be called "DOM4J"
133 * nor may "DOM4J" appear in their names without prior written
134 * permission of MetaStuff, Ltd. DOM4J is a registered
135 * trademark of MetaStuff, Ltd.
136 *
137 * 5. Due credit should be given to the DOM4J Project -
138 * http://www.dom4j.org
139 *
140 * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS
141 * ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT
142 * NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
143 * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
144 * METASTUFF, LTD. OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
145 * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
146 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
147 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
148 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
149 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
150 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
151 * OF THE POSSIBILITY OF SUCH DAMAGE.
152 *
153 * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
154 *
155 * $Id: ExternalEntityDecl.java,v 1.7 2004/06/25 08:03:36 maartenc Exp $
156 */