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: import org.obe.xpdl.PackageVisitor;
049: import org.obe.xpdl.model.misc.ExtendedAttributes;
050:
051: /**
052: * The ExternalPackage class represents a package which is accessible on a
053: * remote server (through a URL).
054: *
055: * @author Anthony Eden
056: * @author Adrian Price
057: */
058: public final class ExternalPackage extends AbstractBean {
059: private static final long serialVersionUID = -9203167030242295684L;
060:
061: private String _href;
062: private XPDLPackage _pkg;
063: private ExtendedAttributes _extendedAttributes;
064:
065: public ExternalPackage() {
066: }
067:
068: /**
069: * Construct a new ExternalPackage.
070: *
071: * @param href The remote address
072: * @param pkg The remote package object
073: */
074: public ExternalPackage(String href, XPDLPackage pkg) {
075: // what happens if the href is not specified?
076: // spec is unclear. -AE
077: _href = href;
078: _pkg = pkg;
079: }
080:
081: public void accept(PackageVisitor visitor) {
082: visitor.visit(this );
083: }
084:
085: /**
086: * Get the URL.
087: *
088: * @return The URL
089: */
090: public String getHref() {
091: return _href;
092: }
093:
094: /**
095: * Set the URL.
096: *
097: * @param href The URL
098: */
099: public void setHref(String href) {
100: _href = href;
101: }
102:
103: /**
104: * Get the package object.
105: *
106: * @return The Package
107: */
108: public XPDLPackage getPackage() {
109: return _pkg;
110: }
111:
112: /**
113: * Returns the extended attributes.
114: *
115: * @return The extended attributes
116: */
117: public ExtendedAttributes getExtendedAttributes() {
118: return _extendedAttributes;
119: }
120:
121: /**
122: * Sets the extended attributes.
123: *
124: * @param extendedAttributes
125: */
126: public void setExtendedAttributes(
127: ExtendedAttributes extendedAttributes) {
128: _extendedAttributes = extendedAttributes;
129: }
130:
131: public String toString() {
132: return "ExternalPackage[href=" + _href + ", pkg=" + _pkg
133: + ", extendedAttributes=" + _extendedAttributes + ']';
134: }
135: }
|