001: /*
002: * JBoss, Home of Professional Open Source.
003: * Copyright 2006, Red Hat Middleware LLC, and individual contributors
004: * as indicated by the @author tags. See the copyright.txt file in the
005: * distribution for a full listing of individual contributors.
006: *
007: * This is free software; you can redistribute it and/or modify it
008: * under the terms of the GNU Lesser General Public License as
009: * published by the Free Software Foundation; either version 2.1 of
010: * the License, or (at your option) any later version.
011: *
012: * This software 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 software; if not, write to the Free
019: * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
020: * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
021: */
022: package org.jboss.services.deployment.metadata;
023:
024: import java.io.Serializable;
025: import java.util.ArrayList;
026: import java.util.List;
027:
028: /**
029: * Simple POJO class to model XML configuration data
030: *
031: * @author <a href="mailto:dimitris@jboss.org">Dimitris Andreadis</a>
032: *
033: * @version $Revision: 57210 $
034: */
035: public class ConfigInfo implements Serializable {
036: /** @since 4.0.2 */
037: private static final long serialVersionUID = 3455531161586923775L;
038:
039: // name is used as an id for instances of this class
040: private String name;
041: private String copydir;
042: private String template;
043: private String extension;
044: private String description;
045:
046: private List propertyList = new ArrayList();
047: private List templateList = new ArrayList();
048:
049: // Constructors --------------------------------------------------
050: /**
051: * Default CTOR
052: */
053: public ConfigInfo() {
054: // empty
055: }
056:
057: /**
058: * CTOR
059: * @param name
060: * @param template
061: * @param extension
062: */
063: public ConfigInfo(String name, String copydir, String template,
064: String extension, String description) {
065: this .name = name;
066: this .copydir = copydir;
067: this .template = template;
068: this .extension = extension;
069: this .description = description;
070: }
071:
072: // Accessors/Modifiers -------------------------------------------
073:
074: /**
075: * @return Returns the extension.
076: */
077: public String getExtension() {
078: return extension;
079: }
080:
081: /**
082: * @param extension The extension to set.
083: */
084: public void setExtension(String extension) {
085: this .extension = extension;
086: }
087:
088: /**
089: * @return Returns the name.
090: */
091: public String getName() {
092: return name;
093: }
094:
095: /**
096: * @param name The name to set.
097: */
098: public void setName(String name) {
099: this .name = name;
100: }
101:
102: /**
103: * @return Returns the template.
104: */
105: public String getTemplate() {
106: return template;
107: }
108:
109: /**
110: * @param template The template to set.
111: */
112: public void setTemplate(String template) {
113: this .template = template;
114: }
115:
116: /**
117: * @return Returns the description.
118: */
119: public String getDescription() {
120: return description;
121: }
122:
123: /**
124: * @param description The description to set.
125: */
126: public void setDescription(String description) {
127: this .description = description;
128: }
129:
130: /**
131: * @return Returns the copydir.
132: */
133: public String getCopydir() {
134: return copydir;
135: }
136:
137: /**
138: * @param copydir The copydir to set.
139: */
140: public void setCopydir(String copydir) {
141: this .copydir = copydir;
142: }
143:
144: /**
145: * @return Returns the propertyList.
146: */
147: public List getPropertyInfoList() {
148: return propertyList;
149: }
150:
151: /**
152: * @param propertyList The propertyList to set.
153: */
154: public void setPropertyInfoList(List propertyList) {
155: this .propertyList = propertyList;
156: }
157:
158: public void addPropertyInfo(PropertyInfo propertyInfo) {
159: this .propertyList.add(propertyInfo);
160: }
161:
162: /**
163: * @return Returns the templateList.
164: */
165: public List getTemplateInfoList() {
166: return templateList;
167: }
168:
169: /**
170: * @param templateList The templateList to set.
171: */
172: public void setTemplateInfoList(List templateList) {
173: this .templateList = templateList;
174: }
175:
176: public void addTemplateInfo(TemplateInfo templateInfo) {
177: this .templateList.add(templateInfo);
178: }
179:
180: // Object Methods ------------------------------------------------
181:
182: public String toString() {
183: StringBuffer sb = new StringBuffer(1024);
184: sb.append('[').append("name=").append(name)
185: .append(", copydir=").append(copydir).append(
186: ", template=").append(template).append(
187: ", extension=").append(extension).append(
188: ", description=").append(description).append(
189: ", propertyList=").append(propertyList).append(
190: ", templateList=").append(templateList).append(
191: ']');
192: return sb.toString();
193: }
194:
195: public boolean equals(Object other) {
196: if (this == other)
197: return true;
198: if (!(other instanceof ConfigInfo))
199: return false;
200:
201: // base equality on name
202: if (name != null && name.equals(((ConfigInfo) other).name))
203: return true;
204: else
205: return false;
206: }
207:
208: public int hashCode() {
209: if (name != null)
210: return name.hashCode();
211: else
212: return 0;
213: }
214: }
|