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 package javax.xml.bind; 018 019 import java.util.Calendar; 020 import java.math.BigInteger; 021 import java.math.BigDecimal; 022 023 import javax.xml.namespace.QName; 024 import javax.xml.namespace.NamespaceContext; 025 026 public final class DatatypeConverter { 027 028 private static DatatypeConverterInterface converter = null; 029 030 private DatatypeConverter() { 031 } 032 033 public static void setDatatypeConverter(DatatypeConverterInterface converter) { 034 if (converter == null) { 035 throw new IllegalArgumentException("The DatatypeConverterInterface parameter must not be null"); 036 } 037 if (DatatypeConverter.converter == null) { 038 DatatypeConverter.converter = converter; 039 } 040 } 041 042 public static String parseString(String lexicalXSDString) { 043 return converter.parseString(lexicalXSDString); 044 } 045 046 public static BigInteger parseInteger(String lexicalXSDInteger) { 047 return converter.parseInteger(lexicalXSDInteger); 048 } 049 050 public static int parseInt(String lexicalXSDInt) { 051 return converter.parseInt(lexicalXSDInt); 052 } 053 054 public static long parseLong(String lexicalXSDLong) { 055 return converter.parseLong(lexicalXSDLong); 056 } 057 058 public static short parseShort(String lexicalXSDShort) { 059 return converter.parseShort(lexicalXSDShort); 060 } 061 062 public static BigDecimal parseDecimal(String lexicalXSDDecimal) { 063 return converter.parseDecimal(lexicalXSDDecimal); 064 } 065 066 public static float parseFloat(String lexicalXSDFloat) { 067 return converter.parseFloat(lexicalXSDFloat); 068 } 069 070 public static double parseDouble(String lexicalXSDDouble) { 071 return converter.parseDouble(lexicalXSDDouble); 072 } 073 074 public static boolean parseBoolean(String lexicalXSDBoolean) { 075 return converter.parseBoolean(lexicalXSDBoolean); 076 } 077 078 public static byte parseByte(String lexicalXSDByte) { 079 return converter.parseByte(lexicalXSDByte); 080 } 081 082 public static QName parseQName(String lexicalXSDQName, NamespaceContext nsc) { 083 return converter.parseQName(lexicalXSDQName, nsc); 084 } 085 086 public static Calendar parseDateTime(String lexicalXSDDateTime) { 087 return converter.parseDateTime(lexicalXSDDateTime); 088 } 089 090 public static byte[] parseBase64Binary(String lexicalXSDBase64Binary) { 091 return converter.parseBase64Binary(lexicalXSDBase64Binary); 092 } 093 094 public static byte[] parseHexBinary(String lexicalXSDHexBinary) { 095 return converter.parseHexBinary(lexicalXSDHexBinary); 096 } 097 098 public static long parseUnsignedInt(String lexicalXSDUnsignedInt) { 099 return converter.parseUnsignedInt(lexicalXSDUnsignedInt); 100 } 101 102 public static int parseUnsignedShort(String lexicalXSDUnsignedShort) { 103 return converter.parseUnsignedShort(lexicalXSDUnsignedShort); 104 } 105 106 public static Calendar parseTime(String lexicalXSDTime) { 107 return converter.parseTime(lexicalXSDTime); 108 } 109 110 public static Calendar parseDate(String lexicalXSDDate) { 111 return converter.parseDate(lexicalXSDDate); 112 } 113 114 public static String parseAnySimpleType(String lexicalXSDAnySimpleType) { 115 return converter.parseAnySimpleType(lexicalXSDAnySimpleType); 116 } 117 118 public static String printString(String val) { 119 return converter.printString(val); 120 } 121 122 public static String printInteger(BigInteger val) { 123 return converter.printInteger(val); 124 } 125 126 public static String printInt(int val) { 127 return converter.printInt(val); 128 } 129 130 public static String printLong(long val) { 131 return converter.printLong(val); 132 } 133 134 public static String printShort(short val) { 135 return converter.printShort(val); 136 } 137 138 public static String printDecimal(BigDecimal val) { 139 return converter.printDecimal(val); 140 } 141 142 public static String printFloat(float val) { 143 return converter.printFloat(val); 144 } 145 146 public static String printDouble(double val) { 147 return converter.printDouble(val); 148 } 149 150 public static String printBoolean(boolean val) { 151 return converter.printBoolean(val); 152 } 153 154 public static String printByte(byte val) { 155 return converter.printByte(val); 156 } 157 158 public static String printQName(QName val, NamespaceContext nsc) { 159 return converter.printQName(val, nsc); 160 } 161 162 public static String printDateTime(Calendar val) { 163 return converter.printDateTime(val); 164 } 165 166 public static String printBase64Binary(byte val[]) { 167 return converter.printBase64Binary(val); 168 } 169 170 public static String printHexBinary(byte val[]) { 171 return converter.printHexBinary(val); 172 } 173 174 public static String printUnsignedInt(long val) { 175 return converter.printUnsignedInt(val); 176 } 177 178 public static String printUnsignedShort(int val) { 179 return converter.printUnsignedShort(val); 180 } 181 182 public static String printTime(Calendar val) { 183 return converter.printTime(val); 184 } 185 186 public static String printDate(Calendar val) { 187 return converter.printDate(val); 188 } 189 190 public static String printAnySimpleType(String val) { 191 return converter.printAnySimpleType(val); 192 } 193 194 }