001: /*--
002:
003: Copyright (C) 2002-2005 Adrian Price.
004: All rights reserved.
005:
006: Redistribution and use in source and binary forms, with or without
007: modification, are permitted provided that the following conditions
008: are met:
009:
010: 1. Redistributions of source code must retain the above copyright
011: notice, this list of conditions, and the following disclaimer.
012:
013: 2. Redistributions in binary form must reproduce the above copyright
014: notice, this list of conditions, and the disclaimer that follows
015: these conditions in the documentation and/or other materials
016: provided with the distribution.
017:
018: 3. The names "OBE" and "Open Business Engine" must not be used to
019: endorse or promote products derived from this software without prior
020: written permission. For written permission, please contact
021: adrianprice@sourceforge.net.
022:
023: 4. Products derived from this software may not be called "OBE" or
024: "Open Business Engine", nor may "OBE" or "Open Business Engine"
025: appear in their name, without prior written permission from
026: Adrian Price (adrianprice@users.sourceforge.net).
027:
028: THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
029: WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
030: OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
031: DISCLAIMED. IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT,
032: INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
033: (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
034: SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
035: HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
036: STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
037: IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
038: POSSIBILITY OF SUCH DAMAGE.
039:
040: For more information on OBE, please see
041: <http://obe.sourceforge.net/>.
042:
043: */
044:
045: package org.obe.xpdl.model.pkg;
046:
047: import org.obe.util.AbstractBean;
048:
049: import java.net.URL;
050: import java.util.Date;
051:
052: /**
053: * Standard header for a workflow package. The PackageHeader is a required
054: * element.
055: *
056: * @author Adrian Price
057: */
058: public final class PackageHeader extends AbstractBean {
059: private static final long serialVersionUID = 2873152111677095659L;
060:
061: private String _xpdlVersion;
062: private String _vendor;
063: private Date _created;
064: private String _description;
065: private URL _documentation;
066: private String _priorityUnit;
067: private String _costUnit;
068:
069: /**
070: * Constructs a new PackageHeader.
071: */
072: public PackageHeader() {
073: }
074:
075: /**
076: * Get version of XPDL used.
077: *
078: * @return The XPDL version String
079: */
080: public String getXPDLVersion() {
081: return _xpdlVersion;
082: }
083:
084: public void setXPDLVersion(String xpdlVersion) {
085: if (xpdlVersion == null) {
086: throw new IllegalArgumentException(
087: "XPDL version is required in package header");
088: }
089: _xpdlVersion = xpdlVersion;
090: }
091:
092: /**
093: * Get the name of the tool vendor.
094: *
095: * @return The tool vendor name
096: */
097: public String getVendor() {
098: return _vendor;
099: }
100:
101: public void setVendor(String vendor) {
102: if (vendor == null) {
103: throw new IllegalArgumentException(
104: "Vendor is required in package header");
105: }
106: _vendor = vendor;
107: }
108:
109: public Date getCreated() {
110: return _created;
111: }
112:
113: public void setCreated(Date created) {
114: if (created == null) {
115: throw new IllegalArgumentException(
116: "Created date is required in package header");
117: }
118: _created = created;
119: }
120:
121: public String getDescription() {
122: return _description;
123: }
124:
125: public void setDescription(String description) {
126: _description = description;
127: }
128:
129: public URL getDocumentation() {
130: return _documentation;
131: }
132:
133: public void setDocumentation(URL documentation) {
134: _documentation = documentation;
135: }
136:
137: public String getPriorityUnit() {
138: return _priorityUnit;
139: }
140:
141: public void setPriorityUnit(String priorityUnit) {
142: _priorityUnit = priorityUnit;
143: }
144:
145: public String getCostUnit() {
146: return _costUnit;
147: }
148:
149: public void setCostUnit(String costUnit) {
150: _costUnit = costUnit;
151: }
152:
153: public String toString() {
154: return "PackageHeader[xpdlVersion=" + _xpdlVersion
155: + ", vendor=" + _vendor + ", created=" + _created
156: + ", description=" + _description + ", documentation="
157: + _documentation + ", priorityUnit=" + _priorityUnit
158: + ", costUnit=" + _costUnit + ']';
159: }
160: }
|