001: /*
002: * Portions Copyright 2006 Sun Microsystems, Inc. All Rights Reserved.
003: * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
004: *
005: * This code is free software; you can redistribute it and/or modify it
006: * under the terms of the GNU General Public License version 2 only, as
007: * published by the Free Software Foundation. Sun designates this
008: * particular file as subject to the "Classpath" exception as provided
009: * by Sun in the LICENSE file that accompanied this code.
010: *
011: * This code is distributed in the hope that it will be useful, but WITHOUT
012: * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
013: * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
014: * version 2 for more details (a copy is included in the LICENSE file that
015: * accompanied this code).
016: *
017: * You should have received a copy of the GNU General Public License version
018: * 2 along with this work; if not, write to the Free Software Foundation,
019: * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
020: *
021: * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
022: * CA 95054 USA or visit www.sun.com if you need additional information or
023: * have any questions.
024: */
025:
026: package com.sun.tools.internal.ws.processor.modeler;
027:
028: import java.util.HashMap;
029: import java.util.Map;
030:
031: import com.sun.tools.internal.ws.processor.model.java.JavaSimpleType;
032: import com.sun.xml.internal.ws.util.VersionUtil;
033:
034: /**
035: *
036: * @author WS Development Team
037: */
038: public class JavaSimpleTypeCreator implements ModelerConstants {
039:
040: /*
041: * Mapped JavaSimpleTypes
042: */
043: public JavaSimpleType BOOLEAN_JAVATYPE;
044: public JavaSimpleType BOXED_BOOLEAN_JAVATYPE;
045: public JavaSimpleType BYTE_JAVATYPE;
046: public JavaSimpleType BYTE_ARRAY_JAVATYPE;
047: public JavaSimpleType BOXED_BYTE_JAVATYPE;
048: public JavaSimpleType BOXED_BYTE_ARRAY_JAVATYPE;
049: public JavaSimpleType DOUBLE_JAVATYPE;
050: public JavaSimpleType BOXED_DOUBLE_JAVATYPE;
051: public JavaSimpleType FLOAT_JAVATYPE;
052: public JavaSimpleType BOXED_FLOAT_JAVATYPE;
053: public JavaSimpleType INT_JAVATYPE;
054: public JavaSimpleType BOXED_INTEGER_JAVATYPE;
055: public JavaSimpleType LONG_JAVATYPE;
056: public JavaSimpleType BOXED_LONG_JAVATYPE;
057: public JavaSimpleType SHORT_JAVATYPE;
058: public JavaSimpleType BOXED_SHORT_JAVATYPE;
059: public JavaSimpleType DECIMAL_JAVATYPE;
060: public JavaSimpleType BIG_INTEGER_JAVATYPE;
061: public JavaSimpleType CALENDAR_JAVATYPE;
062: public JavaSimpleType DATE_JAVATYPE;
063: public JavaSimpleType STRING_JAVATYPE;
064: public JavaSimpleType STRING_ARRAY_JAVATYPE;
065: public JavaSimpleType QNAME_JAVATYPE;
066: public JavaSimpleType VOID_JAVATYPE;
067: public JavaSimpleType OBJECT_JAVATYPE;
068: public JavaSimpleType SOAPELEMENT_JAVATYPE;
069: public JavaSimpleType URI_JAVATYPE;
070:
071: // Attachment types
072: public JavaSimpleType IMAGE_JAVATYPE;
073: public JavaSimpleType MIME_MULTIPART_JAVATYPE;
074: public JavaSimpleType SOURCE_JAVATYPE;
075: public JavaSimpleType DATA_HANDLER_JAVATYPE;
076:
077: // bug fix: 4923650
078: private Map javaTypes = new HashMap();
079:
080: public JavaSimpleTypeCreator() {
081: BOOLEAN_JAVATYPE = new JavaSimpleType(BOOLEAN_CLASSNAME,
082: FALSE_STR);
083: javaTypes.put(BOOLEAN_CLASSNAME, BOOLEAN_JAVATYPE);
084: BOXED_BOOLEAN_JAVATYPE = new JavaSimpleType(
085: BOXED_BOOLEAN_CLASSNAME, NULL_STR);
086: javaTypes.put(BOXED_BOOLEAN_CLASSNAME, BOXED_BOOLEAN_JAVATYPE);
087: BYTE_JAVATYPE = new JavaSimpleType(BYTE_CLASSNAME, "(byte)"
088: + ZERO_STR);
089: javaTypes.put(BYTE_CLASSNAME, BYTE_JAVATYPE);
090: BYTE_ARRAY_JAVATYPE = new JavaSimpleType(BYTE_ARRAY_CLASSNAME,
091: NULL_STR);
092: javaTypes.put(BYTE_ARRAY_CLASSNAME, BYTE_ARRAY_JAVATYPE);
093: BOXED_BYTE_JAVATYPE = new JavaSimpleType(BOXED_BYTE_CLASSNAME,
094: NULL_STR);
095: javaTypes.put(BOXED_BYTE_CLASSNAME, BOXED_BYTE_JAVATYPE);
096: BOXED_BYTE_ARRAY_JAVATYPE = new JavaSimpleType(
097: BOXED_BYTE_ARRAY_CLASSNAME, NULL_STR);
098: javaTypes.put(BOXED_BYTE_ARRAY_CLASSNAME,
099: BOXED_BYTE_ARRAY_JAVATYPE);
100: DOUBLE_JAVATYPE = new JavaSimpleType(DOUBLE_CLASSNAME, ZERO_STR);
101: javaTypes.put(DOUBLE_CLASSNAME, DOUBLE_JAVATYPE);
102: BOXED_DOUBLE_JAVATYPE = new JavaSimpleType(
103: BOXED_DOUBLE_CLASSNAME, NULL_STR);
104: javaTypes.put(BOXED_DOUBLE_CLASSNAME, BOXED_DOUBLE_JAVATYPE);
105: FLOAT_JAVATYPE = new JavaSimpleType(FLOAT_CLASSNAME, ZERO_STR);
106: javaTypes.put(FLOAT_CLASSNAME, FLOAT_JAVATYPE);
107: BOXED_FLOAT_JAVATYPE = new JavaSimpleType(
108: BOXED_FLOAT_CLASSNAME, NULL_STR);
109: javaTypes.put(BOXED_FLOAT_CLASSNAME, BOXED_FLOAT_JAVATYPE);
110: INT_JAVATYPE = new JavaSimpleType(INT_CLASSNAME, ZERO_STR);
111: javaTypes.put(INT_CLASSNAME, INT_JAVATYPE);
112: BOXED_INTEGER_JAVATYPE = new JavaSimpleType(
113: BOXED_INTEGER_CLASSNAME, NULL_STR);
114: javaTypes.put(BOXED_INTEGER_CLASSNAME, BOXED_INTEGER_JAVATYPE);
115: LONG_JAVATYPE = new JavaSimpleType(LONG_CLASSNAME, ZERO_STR);
116: javaTypes.put(LONG_CLASSNAME, LONG_JAVATYPE);
117: BOXED_LONG_JAVATYPE = new JavaSimpleType(BOXED_LONG_CLASSNAME,
118: NULL_STR);
119: javaTypes.put(BOXED_LONG_CLASSNAME, BOXED_LONG_JAVATYPE);
120: SHORT_JAVATYPE = new JavaSimpleType(SHORT_CLASSNAME, "(short)"
121: + ZERO_STR);
122: javaTypes.put(SHORT_CLASSNAME, SHORT_JAVATYPE);
123: BOXED_SHORT_JAVATYPE = new JavaSimpleType(
124: BOXED_SHORT_CLASSNAME, NULL_STR);
125: javaTypes.put(BOXED_SHORT_CLASSNAME, BOXED_SHORT_JAVATYPE);
126: DECIMAL_JAVATYPE = new JavaSimpleType(BIGDECIMAL_CLASSNAME,
127: NULL_STR);
128: javaTypes.put(BIGDECIMAL_CLASSNAME, DECIMAL_JAVATYPE);
129: BIG_INTEGER_JAVATYPE = new JavaSimpleType(BIGINTEGER_CLASSNAME,
130: NULL_STR);
131: javaTypes.put(BIGINTEGER_CLASSNAME, BIG_INTEGER_JAVATYPE);
132: CALENDAR_JAVATYPE = new JavaSimpleType(CALENDAR_CLASSNAME,
133: NULL_STR);
134: javaTypes.put(CALENDAR_CLASSNAME, CALENDAR_JAVATYPE);
135: DATE_JAVATYPE = new JavaSimpleType(DATE_CLASSNAME, NULL_STR);
136: javaTypes.put(DATE_CLASSNAME, DATE_JAVATYPE);
137: STRING_JAVATYPE = new JavaSimpleType(STRING_CLASSNAME, NULL_STR);
138: javaTypes.put(STRING_CLASSNAME, STRING_JAVATYPE);
139: STRING_ARRAY_JAVATYPE = new JavaSimpleType(
140: STRING_ARRAY_CLASSNAME, NULL_STR);
141: javaTypes.put(STRING_ARRAY_CLASSNAME, STRING_ARRAY_JAVATYPE);
142: QNAME_JAVATYPE = new JavaSimpleType(QNAME_CLASSNAME, NULL_STR);
143: javaTypes.put(QNAME_CLASSNAME, QNAME_JAVATYPE);
144:
145: VOID_JAVATYPE = new JavaSimpleType(VOID_CLASSNAME, null);
146: javaTypes.put(VOID_CLASSNAME, VOID_JAVATYPE);
147: OBJECT_JAVATYPE = new JavaSimpleType(OBJECT_CLASSNAME, null);
148: javaTypes.put(OBJECT_CLASSNAME, OBJECT_JAVATYPE);
149: SOAPELEMENT_JAVATYPE = new JavaSimpleType(
150: SOAPELEMENT_CLASSNAME, null);
151: javaTypes.put(SOAPELEMENT_CLASSNAME, SOAPELEMENT_JAVATYPE);
152: URI_JAVATYPE = new JavaSimpleType(URI_CLASSNAME, null);
153: javaTypes.put(URI_CLASSNAME, URI_JAVATYPE);
154:
155: // Attachment types
156: IMAGE_JAVATYPE = new JavaSimpleType(IMAGE_CLASSNAME, null);
157: javaTypes.put(IMAGE_CLASSNAME, IMAGE_JAVATYPE);
158: MIME_MULTIPART_JAVATYPE = new JavaSimpleType(
159: MIME_MULTIPART_CLASSNAME, null);
160: javaTypes
161: .put(MIME_MULTIPART_CLASSNAME, MIME_MULTIPART_JAVATYPE);
162: SOURCE_JAVATYPE = new JavaSimpleType(SOURCE_CLASSNAME, null);
163: javaTypes.put(SOURCE_CLASSNAME, SOURCE_JAVATYPE);
164: DATA_HANDLER_JAVATYPE = new JavaSimpleType(
165: DATA_HANDLER_CLASSNAME, null);
166: javaTypes.put(DATA_HANDLER_CLASSNAME, DATA_HANDLER_JAVATYPE);
167: }
168:
169: // bug fix: 4923650
170: public JavaSimpleType getJavaSimpleType(String classname) {
171: return (JavaSimpleType) javaTypes.get(classname);
172: }
173: }
|