⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 defaulttypemappingregistry.java

📁 Xfire文件 用于开发web service 的一个开源工具 很好用的
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
package org.codehaus.xfire.aegis.type;import java.math.BigDecimal;import java.math.BigInteger;import java.net.URI;import java.sql.Time;import java.sql.Timestamp;import java.util.Calendar;import java.util.Collections;import java.util.Date;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import javax.activation.DataHandler;import javax.activation.DataSource;import javax.xml.namespace.QName;import javax.xml.stream.XMLStreamReader;import javax.xml.transform.Source;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;import org.codehaus.xfire.XFireRuntimeException;import org.codehaus.xfire.aegis.type.basic.Base64Type;import org.codehaus.xfire.aegis.type.basic.BigDecimalType;import org.codehaus.xfire.aegis.type.basic.BigIntegerType;import org.codehaus.xfire.aegis.type.basic.BooleanType;import org.codehaus.xfire.aegis.type.basic.CalendarType;import org.codehaus.xfire.aegis.type.basic.CharacterType;import org.codehaus.xfire.aegis.type.basic.DateTimeType;import org.codehaus.xfire.aegis.type.basic.DoubleType;import org.codehaus.xfire.aegis.type.basic.FloatType;import org.codehaus.xfire.aegis.type.basic.IntType;import org.codehaus.xfire.aegis.type.basic.LongType;import org.codehaus.xfire.aegis.type.basic.ObjectType;import org.codehaus.xfire.aegis.type.basic.ShortType;import org.codehaus.xfire.aegis.type.basic.SqlDateType;import org.codehaus.xfire.aegis.type.basic.StringType;import org.codehaus.xfire.aegis.type.basic.TimeType;import org.codehaus.xfire.aegis.type.basic.TimestampType;import org.codehaus.xfire.aegis.type.basic.URIType;import org.codehaus.xfire.aegis.type.mtom.DataHandlerType;import org.codehaus.xfire.aegis.type.mtom.DataSourceType;import org.codehaus.xfire.aegis.type.xml.DocumentType;import org.codehaus.xfire.aegis.type.xml.JDOMDocumentType;import org.codehaus.xfire.aegis.type.xml.JDOMElementType;import org.codehaus.xfire.aegis.type.xml.SourceType;import org.codehaus.xfire.aegis.type.xml.XMLStreamReaderType;import org.codehaus.xfire.soap.Soap11;import org.codehaus.xfire.soap.SoapConstants;import org.codehaus.xfire.util.ClassLoaderUtils;import org.jdom.Element;import org.w3c.dom.Document;/** * The default implementation of TypeMappingRegistry. *  * @author <a href="mailto:dan@envoisolutions.com">Dan Diephouse</a> * @since Feb 22, 2004 */public class DefaultTypeMappingRegistry    implements TypeMappingRegistry{    private static final Log logger = LogFactory.getLog(DefaultTypeMappingRegistry.class);    protected static final QName XSD_STRING = new QName(SoapConstants.XSD, "string", SoapConstants.XSD_PREFIX);    protected static final QName XSD_LONG = new QName(SoapConstants.XSD, "long", SoapConstants.XSD_PREFIX);    protected static final QName XSD_FLOAT = new QName(SoapConstants.XSD, "float", SoapConstants.XSD_PREFIX);    protected static final QName XSD_DOUBLE = new QName(SoapConstants.XSD, "double", SoapConstants.XSD_PREFIX);    protected static final QName XSD_INT = new QName(SoapConstants.XSD, "int", SoapConstants.XSD_PREFIX);    protected static final QName XSD_SHORT = new QName(SoapConstants.XSD, "short", SoapConstants.XSD_PREFIX);    protected static final QName XSD_BOOLEAN = new QName(SoapConstants.XSD, "boolean", SoapConstants.XSD_PREFIX);    protected static final QName XSD_DATETIME = new QName(SoapConstants.XSD, "dateTime", SoapConstants.XSD_PREFIX);    protected static final QName XSD_TIME = new QName(SoapConstants.XSD, "dateTime", SoapConstants.XSD_PREFIX);    protected static final QName XSD_BASE64 = new QName(SoapConstants.XSD, "base64Binary", SoapConstants.XSD_PREFIX);    protected static final QName XSD_DECIMAL = new QName(SoapConstants.XSD, "decimal", SoapConstants.XSD_PREFIX);    protected static final QName XSD_INTEGER = new QName(SoapConstants.XSD, "integer", SoapConstants.XSD_PREFIX);    protected static final QName XSD_URI = new QName(SoapConstants.XSD, "anyURI", SoapConstants.XSD_PREFIX);    protected static final QName XSD_ANY = new QName(SoapConstants.XSD, "anyType", SoapConstants.XSD_PREFIX);        protected static final QName XSD_DATE = new QName(SoapConstants.XSD, "date", SoapConstants.XSD_PREFIX);    protected static final QName XSD_DURATION = new QName(SoapConstants.XSD, "duration", SoapConstants.XSD_PREFIX);    protected static final QName XSD_G_YEAR_MONTH = new QName(SoapConstants.XSD, "gYearMonth", SoapConstants.XSD_PREFIX);    protected static final QName XSD_G_MONTH_DAY = new QName(SoapConstants.XSD, "gMonthDay", SoapConstants.XSD_PREFIX);    protected static final QName XSD_G_YEAR = new QName(SoapConstants.XSD, "gYear", SoapConstants.XSD_PREFIX);    protected static final QName XSD_G_MONTH = new QName(SoapConstants.XSD, "gMonth", SoapConstants.XSD_PREFIX);    protected static final QName XSD_G_DAY = new QName(SoapConstants.XSD, "gDay", SoapConstants.XSD_PREFIX);    protected static final String ENCODED_NS = Soap11.getInstance().getSoapEncodingStyle();    protected static final QName ENCODED_STRING = new QName(ENCODED_NS, "string");    protected static final QName ENCODED_LONG = new QName(ENCODED_NS, "long");    protected static final QName ENCODED_FLOAT = new QName(ENCODED_NS, "float");    protected static final QName ENCODED_CHAR = new QName(ENCODED_NS, "char");    protected static final QName ENCODED_DOUBLE = new QName(ENCODED_NS, "double");    protected static final QName ENCODED_INT = new QName(ENCODED_NS, "int");    protected static final QName ENCODED_SHORT = new QName(ENCODED_NS, "short");    protected static final QName ENCODED_BOOLEAN = new QName(ENCODED_NS, "boolean");    protected static final QName ENCODED_DATETIME = new QName(ENCODED_NS, "dateTime");    protected static final QName ENCODED_BASE64 = new QName(ENCODED_NS, "base64Binary");    protected static final QName ENCODED_DECIMAL = new QName(ENCODED_NS, "decimal");    protected static final QName ENCODED_INTEGER = new QName(ENCODED_NS, "integer");    private Map registry;        private TypeMapping defaultTM;    private TypeCreator typeCreator;    private Configuration typeConfiguration;        public DefaultTypeMappingRegistry()    {        this(false);    }    public DefaultTypeMappingRegistry(boolean createDefault)    {        this(null, createDefault);    }        public DefaultTypeMappingRegistry(TypeCreator typeCreator, boolean createDefault , Configuration config)    {        registry = Collections.synchronizedMap(new HashMap());        this.typeCreator = typeCreator;        this.typeConfiguration = (config == null ? new Configuration():config);                if (createDefault)        {            createDefaultMappings();        }    }        public DefaultTypeMappingRegistry(TypeCreator typeCreator, boolean createDefault)    {     this(typeCreator,createDefault, new Configuration());    }    public TypeMapping register(String encodingStyleURI, TypeMapping mapping)    {        TypeMapping previous = (TypeMapping) registry.get(encodingStyleURI);        mapping.setEncodingStyleURI(encodingStyleURI);        registry.put(encodingStyleURI, mapping);        return previous;    }    public void registerDefault(TypeMapping mapping)    {        defaultTM = mapping;    }    /**     * @see org.codehaus.xfire.aegis.type.TypeMappingRegistry#getDefaultTypeMapping()     */    public TypeMapping getDefaultTypeMapping()    {        return defaultTM;    }    /**     * @see org.codehaus.xfire.aegis.type.TypeMappingRegistry#getRegisteredEncodingStyleURIs()     */    public String[] getRegisteredEncodingStyleURIs()    {        return (String[]) registry.keySet().toArray(new String[registry.size()]);    }    /**     * @see org.codehaus.xfire.aegis.type.TypeMappingRegistry#getTypeMapping(java.lang.String)     */    public TypeMapping getTypeMapping(String encodingStyleURI)    {        return (TypeMapping) registry.get(encodingStyleURI);    }    /**     * @see org.codehaus.xfire.aegis.type.TypeMappingRegistry#createTypeMapping(boolean)     */    public TypeMapping createTypeMapping(boolean autoTypes)    {        return createTypeMapping(getDefaultTypeMapping(), autoTypes);    }    /**     * @see org.codehaus.xfire.aegis.type.TypeMappingRegistry#createTypeMapping(String,     *      boolean)     */    public TypeMapping createTypeMapping(String parentNamespace, boolean autoTypes)    {        return createTypeMapping(getTypeMapping(parentNamespace), autoTypes);    }    protected TypeMapping createTypeMapping(TypeMapping parent, boolean autoTypes)    {        CustomTypeMapping tm = new CustomTypeMapping(parent);        if (autoTypes)            tm.setTypeCreator(createTypeCreator());        return tm;    }    public TypeCreator getTypeCreator()    {        if (typeCreator == null)        {            typeCreator = createTypeCreator();        }        return typeCreator;    }    public void setTypeCreator(TypeCreator typeCreator)    {        this.typeCreator = typeCreator;    }    protected TypeCreator createTypeCreator()    {        AbstractTypeCreator xmlCreator = createRootTypeCreator();        xmlCreator.setNextCreator(createDefaultTypeCreator());                if (isJDK5andAbove())        {            try            {                String j5TC = "org.codehaus.xfire.aegis.type.java5.Java5TypeCreator";                Class clazz = ClassLoaderUtils.loadClass(j5TC, getClass());                AbstractTypeCreator j5Creator = (AbstractTypeCreator) clazz.newInstance();                j5Creator.setNextCreator(createDefaultTypeCreator());                j5Creator.setConfiguration(getConfiguration());                xmlCreator.setNextCreator(j5Creator);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -