001 /* 002 * Licensed to the Apache Software Foundation (ASF) under one or more 003 * contributor license agreements. See the NOTICE file distributed with 004 * this work for additional information regarding copyright ownership. 005 * The ASF licenses this file to You under the Apache License, Version 2.0 006 * (the "License"); you may not use this file except in compliance with 007 * the License. You may obtain a copy of the License at 008 * 009 * http://www.apache.org/licenses/LICENSE-2.0 010 * 011 * Unless required by applicable law or agreed to in writing, software 012 * distributed under the License is distributed on an "AS IS" BASIS, 013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 014 * See the License for the specific language governing permissions and 015 * limitations under the License. 016 */ 017 018 package org.apache.commons.betwixt.schema; 019 020 import java.math.BigDecimal; 021 import java.math.BigInteger; 022 023 /** 024 * Default <code>DataTypeMapper</code>implementation. 025 * Provides a reasonably standard and compatible mapping. 026 * @author <a href='http://commons.apache.org/'>Apache Commons Team</a> 027 * @version $Revision: 561314 $ 028 */ 029 public class DefaultDataTypeMapper extends DataTypeMapper { 030 031 /** 032 * This implementation provides 033 * @see org.apache.commons.betwixt.schema.DataTypeMapper#toXMLSchemaDataType(java.lang.Class) 034 */ 035 public String toXMLSchemaDataType(Class type) { 036 // default mapping is to string 037 String result = "xsd:string"; 038 if (String.class.equals(type)) { 039 result = "xsd:string"; 040 041 } else if (BigInteger.class.equals(type)) { 042 result = "xsd:integer"; 043 044 } else if (Integer.TYPE.equals(type)) { 045 result = "xsd:int"; 046 047 } else if (Integer.class.equals(type)) { 048 result = "xsd:int"; 049 050 } else if (Long.TYPE.equals(type)) { 051 result = "xsd:long"; 052 053 } else if (Long.class.equals(type)) { 054 result = "xsd:long"; 055 056 } else if (Short.TYPE.equals(type)) { 057 result = "xsd:short"; 058 059 } else if (Short.class.equals(type)) { 060 result = "xsd:short"; 061 062 } else if (BigDecimal.class.equals(type)) { 063 result = "xsd:decimal"; 064 065 } else if (Float.TYPE.equals(type)) { 066 result = "xsd:float"; 067 068 } else if (Float.class.equals(type)) { 069 result = "xsd:float"; 070 071 } else if (Double.TYPE.equals(type)) { 072 result = "xsd:double"; 073 074 } else if (Double.class.equals(type)) { 075 result = "xsd:double"; 076 077 } else if (Boolean.TYPE.equals(type)) { 078 result = "xsd:boolean"; 079 080 } else if (Boolean.class.equals(type)) { 081 result = "xsd:boolean"; 082 083 } else if (Byte.TYPE.equals(type)) { 084 result = "xsd:byte"; 085 086 } else if (Byte.class.equals(type)) { 087 result = "xsd:byte"; 088 089 } else if (java.util.Date.class.equals(type)) { 090 result = "xsd:dateTime"; 091 092 } else if (java.sql.Date.class.equals(type)) { 093 result = "xsd:date"; 094 095 } else if (java.sql.Time.class.equals(type)) { 096 result = "xsd:time"; 097 } 098 099 return result; 100 } 101 102 103 }