KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > beehive > wsm > axis > registration > AxisTypeMappingMetaData


1 /*
2  * Created on Mar 24, 2005
3  *
4  * TODO To change the template for this generated file go to
5  * Window - Preferences - Java - Code Style - Code Templates
6  */

7 package org.apache.beehive.wsm.axis.registration;
8
9 import java.util.HashMap JavaDoc;
10 import java.util.Map JavaDoc;
11
12 import javax.xml.namespace.QName JavaDoc;
13
14 import org.apache.axis.Constants;
15 import org.apache.axis.types.HexBinary;
16
17 /**
18  * @author dmehrtash
19  *
20  * TODO To change the template for this generated type comment go to
21  * Window - Preferences - Java - Code Style - Code Templates
22  */

23 public class AxisTypeMappingMetaData {
24     static Map JavaDoc<Class JavaDoc, QName JavaDoc> builtInTypes = new HashMap JavaDoc<Class JavaDoc, QName JavaDoc>();
25     
26     static {
27         initBuildInTypes();
28
29     }
30
31     /**
32      * @param cls
33      * @return
34      */

35     static public boolean isBuiltInType(Class JavaDoc cls) {
36         return (builtInTypes.containsKey(cls));
37     }
38     
39     /* (non-Javadoc)
40      * @see org.apache.beehive.wsm.registration.TypeRegistrar#getBuiltInTypeQname(java.lang.Class)
41      */

42     static public QName JavaDoc getBuiltInTypeQname(Class JavaDoc cls) {
43         return builtInTypes.get(cls);
44     }
45     
46     /**
47      *
48      */

49     static private void initBuildInTypes() {
50         // HexBinary binary data needs to use the hex binary
51
// serializer/deserializer
52
addBuiltInType(Constants.XSD_HEXBIN, HexBinary.class);
53         addBuiltInType(Constants.XSD_HEXBIN, byte[].class);
54
55         addBuiltInType(Constants.XSD_BYTE, byte[].class);
56
57         addBuiltInType(Constants.XSD_BASE64, byte[].class);
58
59         // anySimpleType is mapped to java.lang.String according to JAX-RPC 1.1
60
// spec.
61
addBuiltInType(Constants.XSD_ANYSIMPLETYPE, java.lang.String JavaDoc.class);
62
63         // If SOAP 1.1 over the wire, map wrapper classes to XSD primitives.
64
addBuiltInType(Constants.XSD_STRING, java.lang.String JavaDoc.class);
65         addBuiltInType(Constants.XSD_BOOLEAN, java.lang.Boolean JavaDoc.class);
66         addBuiltInType(Constants.XSD_DOUBLE, java.lang.Double JavaDoc.class);
67         addBuiltInType(Constants.XSD_FLOAT, java.lang.Float JavaDoc.class);
68         addBuiltInType(Constants.XSD_INT, java.lang.Integer JavaDoc.class);
69         addBuiltInType(Constants.XSD_INTEGER, java.math.BigInteger JavaDoc.class);
70         addBuiltInType(Constants.XSD_DECIMAL, java.math.BigDecimal JavaDoc.class);
71         addBuiltInType(Constants.XSD_LONG, java.lang.Long JavaDoc.class);
72         addBuiltInType(Constants.XSD_SHORT, java.lang.Short JavaDoc.class);
73         addBuiltInType(Constants.XSD_BYTE, java.lang.Byte JavaDoc.class);
74
75         // The XSD Primitives are mapped to java primitives.
76
addBuiltInType(Constants.XSD_BOOLEAN, boolean.class);
77         addBuiltInType(Constants.XSD_DOUBLE, double.class);
78         addBuiltInType(Constants.XSD_FLOAT, float.class);
79         addBuiltInType(Constants.XSD_INT, int.class);
80         addBuiltInType(Constants.XSD_LONG, long.class);
81         addBuiltInType(Constants.XSD_SHORT, short.class);
82         addBuiltInType(Constants.XSD_BYTE, byte.class);
83
84         // Map QNAME to the jax rpc QName class
85
addBuiltInType(Constants.XSD_QNAME, javax.xml.namespace.QName JavaDoc.class);
86
87         // The closest match for anytype is Object
88
addBuiltInType(Constants.XSD_ANYTYPE, java.lang.Object JavaDoc.class);
89
90         // See the SchemaVersion classes for where the registration of
91
// dateTime (for 2001) and timeInstant (for 1999 & 2000) happen.
92
addBuiltInType(Constants.XSD_DATE, java.sql.Date JavaDoc.class);
93
94         // See the SchemaVersion classes for where the registration of
95
// dateTime (for 2001) and timeInstant (for 1999 & 2000) happen.
96
addBuiltInType(Constants.XSD_DATE, java.util.Date JavaDoc.class);
97
98         // Mapping for xsd:time. Map to Axis type Time
99
addBuiltInType(Constants.XSD_TIME, org.apache.axis.types.Time.class);
100         // These are the g* types (gYearMonth, etc) which map to Axis types
101
addBuiltInType(Constants.XSD_YEARMONTH,
102                 org.apache.axis.types.YearMonth.class);
103         addBuiltInType(Constants.XSD_YEAR, org.apache.axis.types.Year.class);
104         addBuiltInType(Constants.XSD_MONTH, org.apache.axis.types.Month.class);
105         addBuiltInType(Constants.XSD_DAY, org.apache.axis.types.Day.class);
106         addBuiltInType(Constants.XSD_MONTHDAY,
107                 org.apache.axis.types.MonthDay.class);
108
109         // Serialize all extensions of Map to SOAP_MAP
110
// Order counts here, HashMap should be last.
111
addBuiltInType(Constants.SOAP_MAP, java.util.Hashtable JavaDoc.class);
112         addBuiltInType(Constants.SOAP_MAP, java.util.Map JavaDoc.class);
113         // The SOAP_MAP will be deserialized into a HashMap by default.
114
addBuiltInType(Constants.SOAP_MAP, java.util.HashMap JavaDoc.class);
115
116         // Use the Element Serializeration for elements
117
addBuiltInType(Constants.SOAP_ELEMENT, org.w3c.dom.Element JavaDoc.class);
118
119         // Use the Document Serializeration for Document's
120
addBuiltInType(Constants.SOAP_DOCUMENT, org.w3c.dom.Document JavaDoc.class);
121
122         addBuiltInType(Constants.SOAP_VECTOR, java.util.Vector JavaDoc.class);
123
124         // if (JavaUtils.isAttachmentSupported()) {
125
// addBuiltInType(Constants.MIME_IMAGE, java.awt.Image.class);
126
// addBuiltInType(Constants.MIME_MULTIPART,
127
// javax.mail.internet.MimeMultipart.class);
128
// addBuiltInType(Constants.MIME_SOURCE,
129
// javax.xml.transform.Source.class);
130
// addBuiltInType(Constants.MIME_OCTETSTREAM, OctetStream.class);
131
// addBuiltInType(Constants.MIME_DATA_HANDLER,
132
// javax.activation.DataHandler.class);
133
// }
134

135         // xsd:token
136
addBuiltInType(Constants.XSD_TOKEN, org.apache.axis.types.Token.class);
137
138         // a xsd:normalizedString
139
addBuiltInType(Constants.XSD_NORMALIZEDSTRING,
140                 org.apache.axis.types.NormalizedString.class);
141
142         // a xsd:unsignedLong
143
addBuiltInType(Constants.XSD_UNSIGNEDLONG,
144                 org.apache.axis.types.UnsignedLong.class);
145
146         // a xsd:unsignedInt
147
addBuiltInType(Constants.XSD_UNSIGNEDINT,
148                 org.apache.axis.types.UnsignedInt.class);
149
150         // a xsd:unsignedShort
151
addBuiltInType(Constants.XSD_UNSIGNEDSHORT,
152                 org.apache.axis.types.UnsignedShort.class);
153
154         // a xsd:unsignedByte
155
addBuiltInType(Constants.XSD_UNSIGNEDBYTE,
156                 org.apache.axis.types.UnsignedByte.class);
157
158         // a xsd:nonNegativeInteger
159
addBuiltInType(Constants.XSD_NONNEGATIVEINTEGER,
160                 org.apache.axis.types.NonNegativeInteger.class);
161
162         // a xsd:negativeInteger
163
addBuiltInType(Constants.XSD_NEGATIVEINTEGER,
164                 org.apache.axis.types.NegativeInteger.class);
165
166         // a xsd:positiveInteger
167
addBuiltInType(Constants.XSD_POSITIVEINTEGER,
168                 org.apache.axis.types.PositiveInteger.class);
169
170         // a xsd:nonPositiveInteger
171
addBuiltInType(Constants.XSD_NONPOSITIVEINTEGER,
172                 org.apache.axis.types.NonPositiveInteger.class);
173
174         // a xsd:Name
175
addBuiltInType(Constants.XSD_NAME, org.apache.axis.types.Name.class);
176
177         // a xsd:NCName
178
addBuiltInType(Constants.XSD_NCNAME, org.apache.axis.types.NCName.class);
179
180         // a xsd:ID
181
addBuiltInType(Constants.XSD_ID, org.apache.axis.types.Id.class);
182
183         // a xml:lang
184
addBuiltInType(Constants.XML_LANG, org.apache.axis.types.Language.class);
185
186         // a xsd:language
187
addBuiltInType(Constants.XSD_LANGUAGE,
188                 org.apache.axis.types.Language.class);
189
190         // a xsd:NmToken
191
addBuiltInType(Constants.XSD_NMTOKEN,
192                 org.apache.axis.types.NMToken.class);
193
194         // a xsd:NmTokens
195
addBuiltInType(Constants.XSD_NMTOKENS,
196                 org.apache.axis.types.NMTokens.class);
197
198         // a xsd:NOTATION
199
addBuiltInType(Constants.XSD_NOTATION,
200                 org.apache.axis.types.Notation.class);
201
202         // a xsd:XSD_ENTITY
203
addBuiltInType(Constants.XSD_ENTITY, org.apache.axis.types.Entity.class);
204
205         // a xsd:XSD_ENTITIES
206
addBuiltInType(Constants.XSD_ENTITIES,
207                 org.apache.axis.types.Entities.class);
208
209         // a xsd:XSD_IDREF
210
addBuiltInType(Constants.XSD_IDREF, org.apache.axis.types.IDRef.class);
211
212         // a xsd:XSD_XSD_IDREFS
213
addBuiltInType(Constants.XSD_IDREFS, org.apache.axis.types.IDRefs.class);
214
215         // a xsd:Duration
216
addBuiltInType(Constants.XSD_DURATION,
217                 org.apache.axis.types.Duration.class);
218
219         // a xsd:anyURI
220
addBuiltInType(Constants.XSD_ANYURI, org.apache.axis.types.URI.class);
221
222         // a xsd:schema
223
addBuiltInType(Constants.XSD_SCHEMA, org.apache.axis.types.Schema.class);
224
225         addBuiltInType(Constants.SOAP_ARRAY, java.util.ArrayList JavaDoc.class);
226     }
227
228     /**
229      * @param xsd_hexbin
230      * @param name
231      */

232     static private void addBuiltInType(QName JavaDoc q, Class JavaDoc c) {
233         builtInTypes.put(c, q);
234
235     }
236
237 }
238
Popular Tags