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.client.api.repository;
046:
047: import org.obe.xpdl.model.data.ExternalReference;
048: import org.xml.sax.EntityResolver;
049:
050: /**
051: * @author Adrian Price
052: */
053: public final class XMLRPCServiceMetaData extends ToolAgentMetaData {
054: private static final long serialVersionUID = -7805959685530583651L;
055: private static final String IMPL_CLASS = "org.obe.runtime.tool.XMLRPCService";
056: private static final String[] IMPL_CTOR_SIG = { XMLRPCServiceMetaData.class
057: .getName() };
058: private String _url;
059: private String _method;
060:
061: public XMLRPCServiceMetaData() {
062: }
063:
064: public XMLRPCServiceMetaData(String id, String displayName,
065: String description, String docUrl, String author,
066: String url, String method) {
067:
068: super (id, displayName, description, docUrl, author, true);
069: _url = url;
070: _method = method;
071: }
072:
073: public ToolAgentMetaData introspect(ExternalReference extRef,
074: EntityResolver entityResolver) {
075:
076: return null;
077: }
078:
079: protected String getImplClass() {
080: return IMPL_CLASS;
081: }
082:
083: protected String[] getImplCtorSig() {
084: return IMPL_CTOR_SIG;
085: }
086:
087: public String getUrl() {
088: return _url != null ? _url
089: : _type == null || !allowInheritance ? null
090: : ((XMLRPCServiceMetaData) _type).getUrl();
091: }
092:
093: public void setUrl(String url) {
094: _url = url;
095: }
096:
097: public String getMethod() {
098: return _method != null ? _method : _type == null
099: || !allowInheritance ? null
100: : ((XMLRPCServiceMetaData) _type).getMethod();
101: }
102:
103: public void setMethod(String method) {
104: _method = method;
105: }
106: }
|