001: /*
002: * $Id: PartnerLinkTypeExtensionRegistry.java,v 1.5 2004/12/09 12:34:16 kowap Exp $
003: *
004: * Copyright (c) 2004 Patric Fornasier, Pawel Kowalski
005: * Berne University of Applied Sciences
006: * School of Engineering and Information Technology
007: * All rights reserved.
008: */
009: package bexee.wsdl.extensions.partnerlinktype;
010:
011: import java.util.Set;
012:
013: import javax.wsdl.Definition;
014: import javax.wsdl.WSDLException;
015: import javax.wsdl.extensions.ExtensibilityElement;
016: import javax.wsdl.extensions.ExtensionDeserializer;
017: import javax.wsdl.extensions.ExtensionRegistry;
018: import javax.wsdl.extensions.ExtensionSerializer;
019: import javax.wsdl.extensions.UnknownExtensionDeserializer;
020: import javax.wsdl.extensions.UnknownExtensionSerializer;
021: import javax.wsdl.factory.WSDLFactory;
022: import javax.xml.namespace.QName;
023:
024: import bexee.wsdl.extensions.partnerlinktype.impl.PartnerLinkTypeImpl;
025:
026: /**
027: * This is merely a helper class which pre-registers a deserializer and a
028: * serializer for the PartnerLinkType elements (BPEL extension to WSDL).
029: *
030: * @author Pawel Kowalski
031: * @version $Revision: 1.5 $, $Date: 2004/12/09 12:34:16 $
032: */
033: public class PartnerLinkTypeExtensionRegistry extends ExtensionRegistry {
034:
035: private ExtensionRegistry registry;
036:
037: private boolean delegateInitialized = false;
038:
039: /**
040: * Create new <code>PartnerLinkTypeExtensionRegistry</code> instance.
041: *
042: * @throws WSDLException
043: */
044: public PartnerLinkTypeExtensionRegistry() throws WSDLException {
045:
046: WSDLFactory factory = WSDLFactory.newInstance();
047: registry = factory.newPopulatedExtensionRegistry();
048:
049: delegateInitialized = true;
050: setDefaultSerializer(new UnknownExtensionSerializer());
051: setDefaultDeserializer(new UnknownExtensionDeserializer());
052:
053: // Create a serializer and deserializer.
054: PartnerLinkTypeDeserializer pLinkTypeSerDeser = new PartnerLinkTypeDeserializer();
055:
056: // Register the deserializer.
057: registerDeserializer(Definition.class,
058: PartnerLinkTypeConstants.PLINK_TYPE_QNAME,
059: pLinkTypeSerDeser);
060:
061: // Register the serializer.
062: //
063: registerSerializer(Definition.class,
064: PartnerLinkTypeConstants.PLINK_TYPE_QNAME,
065: pLinkTypeSerDeser);
066:
067: // Map the implementation class to the extension type.
068: //
069: mapExtensionTypes(Definition.class,
070: PartnerLinkTypeConstants.PLINK_TYPE_QNAME,
071: PartnerLinkTypeImpl.class);
072:
073: }
074:
075: /*
076: * (non-Javadoc)
077: *
078: * @see javax.wsdl.extensions.ExtensionRegistry#createExtension(java.lang.Class,
079: * javax.xml.namespace.QName)
080: */
081: public ExtensibilityElement createExtension(Class arg0, QName arg1)
082: throws WSDLException {
083: return registry.createExtension(arg0, arg1);
084: }
085:
086: /*
087: * (non-Javadoc)
088: *
089: * @see java.lang.Object#equals(java.lang.Object)
090: */
091: public boolean equals(Object arg0) {
092: return registry.equals(arg0);
093: }
094:
095: /*
096: * (non-Javadoc)
097: *
098: * @see javax.wsdl.extensions.ExtensionRegistry#getAllowableExtensions(java.lang.Class)
099: */
100: public Set getAllowableExtensions(Class arg0) {
101: return registry.getAllowableExtensions(arg0);
102: }
103:
104: /*
105: * (non-Javadoc)
106: *
107: * @see javax.wsdl.extensions.ExtensionRegistry#getDefaultDeserializer()
108: */
109: public ExtensionDeserializer getDefaultDeserializer() {
110: return registry.getDefaultDeserializer();
111: }
112:
113: /*
114: * (non-Javadoc)
115: *
116: * @see javax.wsdl.extensions.ExtensionRegistry#getDefaultSerializer()
117: */
118: public ExtensionSerializer getDefaultSerializer() {
119: return registry.getDefaultSerializer();
120: }
121:
122: /*
123: * (non-Javadoc)
124: *
125: * @see java.lang.Object#hashCode()
126: */
127: public int hashCode() {
128: return registry.hashCode();
129: }
130:
131: /*
132: * (non-Javadoc)
133: *
134: * @see javax.wsdl.extensions.ExtensionRegistry#mapExtensionTypes(java.lang.Class,
135: * javax.xml.namespace.QName, java.lang.Class)
136: */
137: public void mapExtensionTypes(Class arg0, QName arg1, Class arg2) {
138: registry.mapExtensionTypes(arg0, arg1, arg2);
139: }
140:
141: /*
142: * (non-Javadoc)
143: *
144: * @see javax.wsdl.extensions.ExtensionRegistry#queryDeserializer(java.lang.Class,
145: * javax.xml.namespace.QName)
146: */
147: public ExtensionDeserializer queryDeserializer(Class arg0,
148: QName arg1) throws WSDLException {
149: return registry.queryDeserializer(arg0, arg1);
150: }
151:
152: /*
153: * (non-Javadoc)
154: *
155: * @see javax.wsdl.extensions.ExtensionRegistry#querySerializer(java.lang.Class,
156: * javax.xml.namespace.QName)
157: */
158: public ExtensionSerializer querySerializer(Class arg0, QName arg1)
159: throws WSDLException {
160: return registry.querySerializer(arg0, arg1);
161: }
162:
163: /*
164: * (non-Javadoc)
165: *
166: * @see javax.wsdl.extensions.ExtensionRegistry#registerDeserializer(java.lang.Class,
167: * javax.xml.namespace.QName,
168: * javax.wsdl.extensions.ExtensionDeserializer)
169: */
170: public void registerDeserializer(Class arg0, QName arg1,
171: ExtensionDeserializer arg2) {
172: registry.registerDeserializer(arg0, arg1, arg2);
173: }
174:
175: /*
176: * (non-Javadoc)
177: *
178: * @see javax.wsdl.extensions.ExtensionRegistry#registerSerializer(java.lang.Class,
179: * javax.xml.namespace.QName,
180: * javax.wsdl.extensions.ExtensionSerializer)
181: */
182: public void registerSerializer(Class arg0, QName arg1,
183: ExtensionSerializer arg2) {
184: registry.registerSerializer(arg0, arg1, arg2);
185: }
186:
187: /*
188: * (non-Javadoc)
189: *
190: * @see javax.wsdl.extensions.ExtensionRegistry#setDefaultDeserializer(javax.wsdl.extensions.ExtensionDeserializer)
191: */
192: public void setDefaultDeserializer(
193: ExtensionDeserializer extDeserializer) {
194:
195: // this is necessary because the superclass calls this method
196: // but it and doesn't know that the registry is a delegate and is thus
197: // not yet initialized
198: //
199: if (delegateInitialized) {
200: registry.setDefaultDeserializer(extDeserializer);
201: }
202: }
203:
204: /*
205: * (non-Javadoc)
206: *
207: * @see javax.wsdl.extensions.ExtensionRegistry#setDefaultSerializer(javax.wsdl.extensions.ExtensionSerializer)
208: */
209: public void setDefaultSerializer(ExtensionSerializer extSerializer) {
210:
211: // this is necessary because the superclass calls this method
212: // but it and doesn't know that the registry is a delegate and is thus
213: // not yet initialized
214: //
215: if (delegateInitialized) {
216: registry.setDefaultSerializer(extSerializer);
217: }
218: }
219:
220: /*
221: * (non-Javadoc)
222: *
223: * @see java.lang.Object#toString()
224: */
225: public String toString() {
226: return registry.toString();
227: }
228: }
|