<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<title>DatatypeConverter</title>
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../script.js"></script>

<link rel="shortcut icon" href="/img/jakarta-favicon.ico">
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="DatatypeConverter";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9,"i16":9,"i17":9,"i18":9,"i19":9,"i20":9,"i21":9,"i22":9,"i23":9,"i24":9,"i25":9,"i26":9,"i27":9,"i28":9,"i29":9,"i30":9,"i31":9,"i32":9,"i33":9,"i34":9,"i35":9,"i36":9,"i37":9,"i38":9};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../jakarta/xml/bind/DataBindingException.html" title="class in jakarta.xml.bind"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../jakarta/xml/bind/DatatypeConverterInterface.html" title="interface in jakarta.xml.bind"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?jakarta/xml/bind/DatatypeConverter.html" target="_top">Frames</a></li>
<li><a href="DatatypeConverter.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">jakarta.xml.bind</div>
<h2 title="Class DatatypeConverter" class="title">Class DatatypeConverter</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>jakarta.xml.bind.DatatypeConverter</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public final class <span class="typeNameLabel">DatatypeConverter</span>
extends java.lang.Object</pre>
<div class="block"><p>
 The javaType binding declaration can be used to customize the binding of 
 an XML schema datatype to a Java datatype. Customizations can involve 
 writing a parse and print method for parsing and printing lexical 
 representations of a XML schema datatype respectively. However, writing 
 parse and print methods requires knowledge of the lexical representations ( 
 <a href="http://www.w3.org/TR/xmlschema-2/"> XML Schema Part2: Datatypes 
 specification </a>) and hence may be difficult to write. 
 </p>
 <p>
 This class makes it easier to write parse and print methods. It defines
 static parse and print methods that provide access to a Jakarta XML Binding provider's 
 implementation of parse and print methods. These methods are invoked by 
 custom parse and print methods. For example, the binding of xsd:dateTime 
 to a long can be customized using parse and print methods as follows:
 <blockquote>
    <pre>
    // Customized parse method 
    public long myParseCal( String dateTimeString ) {
        java.util.Calendar cal = DatatypeConverter.parseDateTime(dateTimeString);
        long longval = convert_calendar_to_long(cal); //application specific
        return longval;
    }
     
    // Customized print method
    public String myPrintCal( Long longval ) {
        java.util.Calendar cal = convert_long_to_calendar(longval) ; //application specific
        String dateTimeString = DatatypeConverter.printDateTime(cal);
        return dateTimeString;
    }
    </pre>
 </blockquote>
 <p>
 There is a static parse and print method corresponding to each parse and 
 print method respectively in the <a href="../../../jakarta/xml/bind/DatatypeConverterInterface.html" title="interface in jakarta.xml.bind"><code>DatatypeConverterInterface</code></a>. 
 <p>
 The static methods defined in the class can also be used to specify
 a parse or a print method in a javaType binding declaration.
 </p>
 <p>
 Jakarta XML Binding Providers are required to call the 
 <a href="../../../jakarta/xml/bind/DatatypeConverter.html#setDatatypeConverter-jakarta.xml.bind.DatatypeConverterInterface-"><code>setDatatypeConverter</code></a> api at some point before the first marshal or unmarshal 
 operation (perhaps during the call to JAXBContext.newInstance).  This step is 
 necessary to configure the converter that should be used to perform the 
 print and parse functionality.  
 </p>
 
 <p>
 A print method for a XML schema datatype can output any lexical 
 representation that is valid with respect to the XML schema datatype.
 If an error is encountered during conversion, then an IllegalArgumentException,
 or a subclass of IllegalArgumentException must be thrown by the method.
 </p></div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.6, JAXB 1.0</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../jakarta/xml/bind/DatatypeConverterInterface.html" title="interface in jakarta.xml.bind"><code>DatatypeConverterInterface</code></a>, 
<a href="../../../jakarta/xml/bind/ParseConversionEvent.html" title="interface in jakarta.xml.bind"><code>ParseConversionEvent</code></a>, 
<a href="../../../jakarta/xml/bind/PrintConversionEvent.html" title="interface in jakarta.xml.bind"><code>PrintConversionEvent</code></a></dd>
<dt><span class="simpleTagLabel">Examples (en):</span></dt>
<dd><a href="../../../../../../tomee-9.0/examples/websocket-tls-basic-auth.html">websocket-tls-basic-auth</a></dd>
<dt><span class="simpleTagLabel">Examples (pt):</span></dt>
<dd><a href="../../../../../../tomee-9.0/pt/examples/websocket-tls-basic-auth.html">websocket-tls-basic-auth</a></dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/bind/DatatypeConverter.html#parseAnySimpleType-java.lang.String-">parseAnySimpleType</a></span>(java.lang.String&nbsp;lexicalXSDAnySimpleType)</code>
<div class="block">
 Return a string containing the lexical representation of the 
 simple type.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>static byte[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/bind/DatatypeConverter.html#parseBase64Binary-java.lang.String-">parseBase64Binary</a></span>(java.lang.String&nbsp;lexicalXSDBase64Binary)</code>
<div class="block">
 Converts the string argument into an array of bytes.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/bind/DatatypeConverter.html#parseBoolean-java.lang.String-">parseBoolean</a></span>(java.lang.String&nbsp;lexicalXSDBoolean)</code>
<div class="block">
 Converts the string argument into a boolean value.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>static byte</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/bind/DatatypeConverter.html#parseByte-java.lang.String-">parseByte</a></span>(java.lang.String&nbsp;lexicalXSDByte)</code>
<div class="block">
 Converts the string argument into a byte value.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>static java.util.Calendar</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/bind/DatatypeConverter.html#parseDate-java.lang.String-">parseDate</a></span>(java.lang.String&nbsp;lexicalXSDDate)</code>
<div class="block">
 Converts the string argument into a Calendar value.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>static java.util.Calendar</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/bind/DatatypeConverter.html#parseDateTime-java.lang.String-">parseDateTime</a></span>(java.lang.String&nbsp;lexicalXSDDateTime)</code>
<div class="block">
 Converts the string argument into a Calendar value.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>static java.math.BigDecimal</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/bind/DatatypeConverter.html#parseDecimal-java.lang.String-">parseDecimal</a></span>(java.lang.String&nbsp;lexicalXSDDecimal)</code>
<div class="block">
 Converts the string argument into a BigDecimal value.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>static double</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/bind/DatatypeConverter.html#parseDouble-java.lang.String-">parseDouble</a></span>(java.lang.String&nbsp;lexicalXSDDouble)</code>
<div class="block">
 Converts the string argument into a double value.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>static float</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/bind/DatatypeConverter.html#parseFloat-java.lang.String-">parseFloat</a></span>(java.lang.String&nbsp;lexicalXSDFloat)</code>
<div class="block">
 Converts the string argument into a float value.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>static byte[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/bind/DatatypeConverter.html#parseHexBinary-java.lang.String-">parseHexBinary</a></span>(java.lang.String&nbsp;lexicalXSDHexBinary)</code>
<div class="block">
 Converts the string argument into an array of bytes.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/bind/DatatypeConverter.html#parseInt-java.lang.String-">parseInt</a></span>(java.lang.String&nbsp;lexicalXSDInt)</code>
<div class="block">
 Convert the string argument into an int value.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>static java.math.BigInteger</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/bind/DatatypeConverter.html#parseInteger-java.lang.String-">parseInteger</a></span>(java.lang.String&nbsp;lexicalXSDInteger)</code>
<div class="block">
 Convert the string argument into a BigInteger value.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/bind/DatatypeConverter.html#parseLong-java.lang.String-">parseLong</a></span>(java.lang.String&nbsp;lexicalXSDLong)</code>
<div class="block">
 Converts the string argument into a long value.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>static javax.xml.namespace.QName</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/bind/DatatypeConverter.html#parseQName-java.lang.String-javax.xml.namespace.NamespaceContext-">parseQName</a></span>(java.lang.String&nbsp;lexicalXSDQName,
          javax.xml.namespace.NamespaceContext&nbsp;nsc)</code>
<div class="block">
 Converts the string argument into a byte value.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>static short</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/bind/DatatypeConverter.html#parseShort-java.lang.String-">parseShort</a></span>(java.lang.String&nbsp;lexicalXSDShort)</code>
<div class="block">
 Converts the string argument into a short value.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/bind/DatatypeConverter.html#parseString-java.lang.String-">parseString</a></span>(java.lang.String&nbsp;lexicalXSDString)</code>
<div class="block">
 Convert the lexical XSD string argument into a String value.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>static java.util.Calendar</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/bind/DatatypeConverter.html#parseTime-java.lang.String-">parseTime</a></span>(java.lang.String&nbsp;lexicalXSDTime)</code>
<div class="block">
 Converts the string argument into a Calendar value.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/bind/DatatypeConverter.html#parseUnsignedInt-java.lang.String-">parseUnsignedInt</a></span>(java.lang.String&nbsp;lexicalXSDUnsignedInt)</code>
<div class="block">
 Converts the string argument into a long value.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/bind/DatatypeConverter.html#parseUnsignedShort-java.lang.String-">parseUnsignedShort</a></span>(java.lang.String&nbsp;lexicalXSDUnsignedShort)</code>
<div class="block">
 Converts the string argument into an int value.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/bind/DatatypeConverter.html#printAnySimpleType-java.lang.String-">printAnySimpleType</a></span>(java.lang.String&nbsp;val)</code>
<div class="block">
 Converts a string value into a string.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/bind/DatatypeConverter.html#printBase64Binary-byte:A-">printBase64Binary</a></span>(byte[]&nbsp;val)</code>
<div class="block">
 Converts an array of bytes into a string.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/bind/DatatypeConverter.html#printBoolean-boolean-">printBoolean</a></span>(boolean&nbsp;val)</code>
<div class="block">
 Converts a boolean value into a string.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/bind/DatatypeConverter.html#printByte-byte-">printByte</a></span>(byte&nbsp;val)</code>
<div class="block">
 Converts a byte value into a string.</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/bind/DatatypeConverter.html#printDate-java.util.Calendar-">printDate</a></span>(java.util.Calendar&nbsp;val)</code>
<div class="block">
 Converts a Calendar value into a string.</div>
</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/bind/DatatypeConverter.html#printDateTime-java.util.Calendar-">printDateTime</a></span>(java.util.Calendar&nbsp;val)</code>
<div class="block">
 Converts a Calendar value into a string.</div>
</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/bind/DatatypeConverter.html#printDecimal-java.math.BigDecimal-">printDecimal</a></span>(java.math.BigDecimal&nbsp;val)</code>
<div class="block">
 Converts a BigDecimal value into a string.</div>
</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/bind/DatatypeConverter.html#printDouble-double-">printDouble</a></span>(double&nbsp;val)</code>
<div class="block">
 Converts a double value into a string.</div>
</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/bind/DatatypeConverter.html#printFloat-float-">printFloat</a></span>(float&nbsp;val)</code>
<div class="block">
 Converts a float value into a string.</div>
</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/bind/DatatypeConverter.html#printHexBinary-byte:A-">printHexBinary</a></span>(byte[]&nbsp;val)</code>
<div class="block">
 Converts an array of bytes into a string.</div>
</td>
</tr>
<tr id="i29" class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/bind/DatatypeConverter.html#printInt-int-">printInt</a></span>(int&nbsp;val)</code>
<div class="block">
 Converts an int value into a string.</div>
</td>
</tr>
<tr id="i30" class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/bind/DatatypeConverter.html#printInteger-java.math.BigInteger-">printInteger</a></span>(java.math.BigInteger&nbsp;val)</code>
<div class="block">
 Converts a BigInteger value into a string.</div>
</td>
</tr>
<tr id="i31" class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/bind/DatatypeConverter.html#printLong-long-">printLong</a></span>(long&nbsp;val)</code>
<div class="block">
 Converts A long value into a string.</div>
</td>
</tr>
<tr id="i32" class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/bind/DatatypeConverter.html#printQName-javax.xml.namespace.QName-javax.xml.namespace.NamespaceContext-">printQName</a></span>(javax.xml.namespace.QName&nbsp;val,
          javax.xml.namespace.NamespaceContext&nbsp;nsc)</code>
<div class="block">
 Converts a QName instance into a string.</div>
</td>
</tr>
<tr id="i33" class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/bind/DatatypeConverter.html#printShort-short-">printShort</a></span>(short&nbsp;val)</code>
<div class="block">
 Converts a short value into a string.</div>
</td>
</tr>
<tr id="i34" class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/bind/DatatypeConverter.html#printString-java.lang.String-">printString</a></span>(java.lang.String&nbsp;val)</code>
<div class="block">
 Converts the string argument into a string.</div>
</td>
</tr>
<tr id="i35" class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/bind/DatatypeConverter.html#printTime-java.util.Calendar-">printTime</a></span>(java.util.Calendar&nbsp;val)</code>
<div class="block">
 Converts a Calendar value into a string.</div>
</td>
</tr>
<tr id="i36" class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/bind/DatatypeConverter.html#printUnsignedInt-long-">printUnsignedInt</a></span>(long&nbsp;val)</code>
<div class="block">
 Converts a long value into a string.</div>
</td>
</tr>
<tr id="i37" class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/bind/DatatypeConverter.html#printUnsignedShort-int-">printUnsignedShort</a></span>(int&nbsp;val)</code>
<div class="block">
 Converts an int value into a string.</div>
</td>
</tr>
<tr id="i38" class="altColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/bind/DatatypeConverter.html#setDatatypeConverter-jakarta.xml.bind.DatatypeConverterInterface-">setDatatypeConverter</a></span>(<a href="../../../jakarta/xml/bind/DatatypeConverterInterface.html" title="interface in jakarta.xml.bind">DatatypeConverterInterface</a>&nbsp;converter)</code>
<div class="block">This method is for Jakarta XML Binding provider use only.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="setDatatypeConverter-jakarta.xml.bind.DatatypeConverterInterface-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDatatypeConverter</h4>
<pre>public static&nbsp;void&nbsp;setDatatypeConverter(<a href="../../../jakarta/xml/bind/DatatypeConverterInterface.html" title="interface in jakarta.xml.bind">DatatypeConverterInterface</a>&nbsp;converter)</pre>
<div class="block">This method is for Jakarta XML Binding provider use only.
 <p>
 Jakarta XML Binding Providers are required to call this method at some point before
 allowing any of the Jakarta XML Binding client marshal or unmarshal operations to
 occur.  This is necessary to configure the datatype converter that 
 should be used to perform the print and parse conversions.
 
 <p>
 Calling this api repeatedly will have no effect - the 
 DatatypeConverterInterface instance passed into the first invocation is 
 the one that will be used from then on.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>converter</code> - an instance of a class that implements the 
 DatatypeConverterInterface class - this parameter must not be null.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - if the parameter is null</dd>
<dd><code>java.lang.SecurityException</code> - If the <code>SecurityManager</code> in charge denies the access to
      set the datatype converter.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../jakarta/xml/bind/JAXBPermission.html" title="class in jakarta.xml.bind"><code>JAXBPermission</code></a></dd>
</dl>
</li>
</ul>
<a name="parseString-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>parseString</h4>
<pre>public static&nbsp;java.lang.String&nbsp;parseString(java.lang.String&nbsp;lexicalXSDString)</pre>
<div class="block"><p>
 Convert the lexical XSD string argument into a String value.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>lexicalXSDString</code> - A string containing a lexical representation of
     xsd:string.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A String value represented by the string argument.</dd>
</dl>
</li>
</ul>
<a name="parseInteger-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>parseInteger</h4>
<pre>public static&nbsp;java.math.BigInteger&nbsp;parseInteger(java.lang.String&nbsp;lexicalXSDInteger)</pre>
<div class="block"><p>
 Convert the string argument into a BigInteger value.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>lexicalXSDInteger</code> - A string containing a lexical representation of
     xsd:integer.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A BigInteger value represented by the string argument.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.NumberFormatException</code> - <code>lexicalXSDInteger</code> is not a valid string representation of a <code>BigInteger</code> value.</dd>
</dl>
</li>
</ul>
<a name="parseInt-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>parseInt</h4>
<pre>public static&nbsp;int&nbsp;parseInt(java.lang.String&nbsp;lexicalXSDInt)</pre>
<div class="block"><p>
 Convert the string argument into an int value.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>lexicalXSDInt</code> - A string containing a lexical representation of
     xsd:int.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A int value represented by the string argument.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.NumberFormatException</code> - <code>lexicalXSDInt</code> is not a valid string representation of an <code>int</code> value.</dd>
</dl>
</li>
</ul>
<a name="parseLong-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>parseLong</h4>
<pre>public static&nbsp;long&nbsp;parseLong(java.lang.String&nbsp;lexicalXSDLong)</pre>
<div class="block"><p>
 Converts the string argument into a long value.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>lexicalXSDLong</code> - A string containing lexical representation of
     xsd:long.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A long value represented by the string argument.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.NumberFormatException</code> - <code>lexicalXSDLong</code> is not a valid string representation of a <code>long</code> value.</dd>
</dl>
</li>
</ul>
<a name="parseShort-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>parseShort</h4>
<pre>public static&nbsp;short&nbsp;parseShort(java.lang.String&nbsp;lexicalXSDShort)</pre>
<div class="block"><p>
 Converts the string argument into a short value.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>lexicalXSDShort</code> - A string containing lexical representation of
     xsd:short.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A short value represented by the string argument.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.NumberFormatException</code> - <code>lexicalXSDShort</code> is not a valid string representation of a <code>short</code> value.</dd>
</dl>
</li>
</ul>
<a name="parseDecimal-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>parseDecimal</h4>
<pre>public static&nbsp;java.math.BigDecimal&nbsp;parseDecimal(java.lang.String&nbsp;lexicalXSDDecimal)</pre>
<div class="block"><p>
 Converts the string argument into a BigDecimal value.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>lexicalXSDDecimal</code> - A string containing lexical representation of
     xsd:decimal.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A BigDecimal value represented by the string argument.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.NumberFormatException</code> - <code>lexicalXSDDecimal</code> is not a valid string representation of <code>BigDecimal</code>.</dd>
</dl>
</li>
</ul>
<a name="parseFloat-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>parseFloat</h4>
<pre>public static&nbsp;float&nbsp;parseFloat(java.lang.String&nbsp;lexicalXSDFloat)</pre>
<div class="block"><p>
 Converts the string argument into a float value.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>lexicalXSDFloat</code> - A string containing lexical representation of
     xsd:float.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A float value represented by the string argument.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.NumberFormatException</code> - <code>lexicalXSDFloat</code> is not a valid string representation of a <code>float</code> value.</dd>
</dl>
</li>
</ul>
<a name="parseDouble-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>parseDouble</h4>
<pre>public static&nbsp;double&nbsp;parseDouble(java.lang.String&nbsp;lexicalXSDDouble)</pre>
<div class="block"><p>
 Converts the string argument into a double value.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>lexicalXSDDouble</code> - A string containing lexical representation of
     xsd:double.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A double value represented by the string argument.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.NumberFormatException</code> - <code>lexicalXSDDouble</code> is not a valid string representation of a <code>double</code> value.</dd>
</dl>
</li>
</ul>
<a name="parseBoolean-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>parseBoolean</h4>
<pre>public static&nbsp;boolean&nbsp;parseBoolean(java.lang.String&nbsp;lexicalXSDBoolean)</pre>
<div class="block"><p>
 Converts the string argument into a boolean value.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>lexicalXSDBoolean</code> - A string containing lexical representation of
     xsd:boolean.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A boolean value represented by the string argument.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - if string parameter does not conform to lexical value space defined in XML Schema Part 2: Datatypes for xsd:boolean.</dd>
</dl>
</li>
</ul>
<a name="parseByte-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>parseByte</h4>
<pre>public static&nbsp;byte&nbsp;parseByte(java.lang.String&nbsp;lexicalXSDByte)</pre>
<div class="block"><p>
 Converts the string argument into a byte value.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>lexicalXSDByte</code> - A string containing lexical representation of
     xsd:byte.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A byte value represented by the string argument.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - if string parameter does not conform to lexical value space defined in XML Schema Part 2: Datatypes for xsd:byte.</dd>
</dl>
</li>
</ul>
<a name="parseQName-java.lang.String-javax.xml.namespace.NamespaceContext-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>parseQName</h4>
<pre>public static&nbsp;javax.xml.namespace.QName&nbsp;parseQName(java.lang.String&nbsp;lexicalXSDQName,
                                                   javax.xml.namespace.NamespaceContext&nbsp;nsc)</pre>
<div class="block"><p>
 Converts the string argument into a byte value.

 <p>
 String parameter <code>lexicalXSDQname</code> must conform to lexical value space specifed at
 <a href="http://www.w3.org/TR/xmlschema-2/#QName">XML Schema Part 2:Datatypes specification:QNames</a></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>lexicalXSDQName</code> - A string containing lexical representation of xsd:QName.</dd>
<dd><code>nsc</code> - A namespace context for interpreting a prefix within a QName.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A QName value represented by the string argument.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - if string parameter does not conform to XML Schema Part 2 specification or 
      if namespace prefix of <code>lexicalXSDQname</code> is not bound to a URI in NamespaceContext <code>nsc</code>.</dd>
</dl>
</li>
</ul>
<a name="parseDateTime-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>parseDateTime</h4>
<pre>public static&nbsp;java.util.Calendar&nbsp;parseDateTime(java.lang.String&nbsp;lexicalXSDDateTime)</pre>
<div class="block"><p>
 Converts the string argument into a Calendar value.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>lexicalXSDDateTime</code> - A string containing lexical representation of
     xsd:datetime.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A Calendar object represented by the string argument.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - if string parameter does not conform to lexical value space defined in XML Schema Part 2: Datatypes for xsd:dateTime.</dd>
</dl>
</li>
</ul>
<a name="parseBase64Binary-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>parseBase64Binary</h4>
<pre>public static&nbsp;byte[]&nbsp;parseBase64Binary(java.lang.String&nbsp;lexicalXSDBase64Binary)</pre>
<div class="block"><p>
 Converts the string argument into an array of bytes.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>lexicalXSDBase64Binary</code> - A string containing lexical representation
     of xsd:base64Binary.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>An array of bytes represented by the string argument.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - if string parameter does not conform to lexical value space defined in XML Schema Part 2: Datatypes for xsd:base64Binary</dd>
</dl>
</li>
</ul>
<a name="parseHexBinary-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>parseHexBinary</h4>
<pre>public static&nbsp;byte[]&nbsp;parseHexBinary(java.lang.String&nbsp;lexicalXSDHexBinary)</pre>
<div class="block"><p>
 Converts the string argument into an array of bytes.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>lexicalXSDHexBinary</code> - A string containing lexical representation of
     xsd:hexBinary.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>An array of bytes represented by the string argument.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - if string parameter does not conform to lexical value space defined in XML Schema Part 2: Datatypes for xsd:hexBinary.</dd>
</dl>
</li>
</ul>
<a name="parseUnsignedInt-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>parseUnsignedInt</h4>
<pre>public static&nbsp;long&nbsp;parseUnsignedInt(java.lang.String&nbsp;lexicalXSDUnsignedInt)</pre>
<div class="block"><p>
 Converts the string argument into a long value.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>lexicalXSDUnsignedInt</code> - A string containing lexical representation
     of xsd:unsignedInt.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A long value represented by the string argument.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.NumberFormatException</code> - if string parameter can not be parsed into a <code>long</code> value.</dd>
</dl>
</li>
</ul>
<a name="parseUnsignedShort-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>parseUnsignedShort</h4>
<pre>public static&nbsp;int&nbsp;parseUnsignedShort(java.lang.String&nbsp;lexicalXSDUnsignedShort)</pre>
<div class="block"><p>
 Converts the string argument into an int value.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>lexicalXSDUnsignedShort</code> - A string containing lexical
     representation of xsd:unsignedShort.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>An int value represented by the string argument.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.NumberFormatException</code> - if string parameter can not be parsed into an <code>int</code> value.</dd>
</dl>
</li>
</ul>
<a name="parseTime-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>parseTime</h4>
<pre>public static&nbsp;java.util.Calendar&nbsp;parseTime(java.lang.String&nbsp;lexicalXSDTime)</pre>
<div class="block"><p>
 Converts the string argument into a Calendar value.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>lexicalXSDTime</code> - A string containing lexical representation of
     xsd:time.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A Calendar value represented by the string argument.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - if string parameter does not conform to lexical value space defined in XML Schema Part 2: Datatypes for xsd:Time.</dd>
</dl>
</li>
</ul>
<a name="parseDate-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>parseDate</h4>
<pre>public static&nbsp;java.util.Calendar&nbsp;parseDate(java.lang.String&nbsp;lexicalXSDDate)</pre>
<div class="block"><p>
 Converts the string argument into a Calendar value.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>lexicalXSDDate</code> - A string containing lexical representation of
     xsd:Date.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A Calendar value represented by the string argument.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - if string parameter does not conform to lexical value space defined in XML Schema Part 2: Datatypes for xsd:Date.</dd>
</dl>
</li>
</ul>
<a name="parseAnySimpleType-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>parseAnySimpleType</h4>
<pre>public static&nbsp;java.lang.String&nbsp;parseAnySimpleType(java.lang.String&nbsp;lexicalXSDAnySimpleType)</pre>
<div class="block"><p>
 Return a string containing the lexical representation of the 
 simple type.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>lexicalXSDAnySimpleType</code> - A string containing lexical
     representation of the simple type.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A string containing the lexical representation of the 
     simple type.</dd>
</dl>
</li>
</ul>
<a name="printString-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>printString</h4>
<pre>public static&nbsp;java.lang.String&nbsp;printString(java.lang.String&nbsp;val)</pre>
<div class="block"><p>
 Converts the string argument into a string.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>val</code> - A string value.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A string containing a lexical representation of xsd:string.</dd>
</dl>
</li>
</ul>
<a name="printInteger-java.math.BigInteger-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>printInteger</h4>
<pre>public static&nbsp;java.lang.String&nbsp;printInteger(java.math.BigInteger&nbsp;val)</pre>
<div class="block"><p>
 Converts a BigInteger value into a string.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>val</code> - A BigInteger value</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A string containing a lexical representation of xsd:integer</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - <code>val</code> is null.</dd>
</dl>
</li>
</ul>
<a name="printInt-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>printInt</h4>
<pre>public static&nbsp;java.lang.String&nbsp;printInt(int&nbsp;val)</pre>
<div class="block"><p>
 Converts an int value into a string.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>val</code> - An int value</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A string containing a lexical representation of xsd:int</dd>
</dl>
</li>
</ul>
<a name="printLong-long-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>printLong</h4>
<pre>public static&nbsp;java.lang.String&nbsp;printLong(long&nbsp;val)</pre>
<div class="block"><p>
 Converts A long value into a string.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>val</code> - A long value</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A string containing a lexical representation of xsd:long</dd>
</dl>
</li>
</ul>
<a name="printShort-short-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>printShort</h4>
<pre>public static&nbsp;java.lang.String&nbsp;printShort(short&nbsp;val)</pre>
<div class="block"><p>
 Converts a short value into a string.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>val</code> - A short value</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A string containing a lexical representation of xsd:short</dd>
</dl>
</li>
</ul>
<a name="printDecimal-java.math.BigDecimal-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>printDecimal</h4>
<pre>public static&nbsp;java.lang.String&nbsp;printDecimal(java.math.BigDecimal&nbsp;val)</pre>
<div class="block"><p>
 Converts a BigDecimal value into a string.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>val</code> - A BigDecimal value</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A string containing a lexical representation of xsd:decimal</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - <code>val</code> is null.</dd>
</dl>
</li>
</ul>
<a name="printFloat-float-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>printFloat</h4>
<pre>public static&nbsp;java.lang.String&nbsp;printFloat(float&nbsp;val)</pre>
<div class="block"><p>
 Converts a float value into a string.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>val</code> - A float value</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A string containing a lexical representation of xsd:float</dd>
</dl>
</li>
</ul>
<a name="printDouble-double-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>printDouble</h4>
<pre>public static&nbsp;java.lang.String&nbsp;printDouble(double&nbsp;val)</pre>
<div class="block"><p>
 Converts a double value into a string.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>val</code> - A double value</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A string containing a lexical representation of xsd:double</dd>
</dl>
</li>
</ul>
<a name="printBoolean-boolean-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>printBoolean</h4>
<pre>public static&nbsp;java.lang.String&nbsp;printBoolean(boolean&nbsp;val)</pre>
<div class="block"><p>
 Converts a boolean value into a string.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>val</code> - A boolean value</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A string containing a lexical representation of xsd:boolean</dd>
</dl>
</li>
</ul>
<a name="printByte-byte-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>printByte</h4>
<pre>public static&nbsp;java.lang.String&nbsp;printByte(byte&nbsp;val)</pre>
<div class="block"><p>
 Converts a byte value into a string.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>val</code> - A byte value</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A string containing a lexical representation of xsd:byte</dd>
</dl>
</li>
</ul>
<a name="printQName-javax.xml.namespace.QName-javax.xml.namespace.NamespaceContext-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>printQName</h4>
<pre>public static&nbsp;java.lang.String&nbsp;printQName(javax.xml.namespace.QName&nbsp;val,
                                          javax.xml.namespace.NamespaceContext&nbsp;nsc)</pre>
<div class="block"><p>
 Converts a QName instance into a string.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>val</code> - A QName value</dd>
<dd><code>nsc</code> - A namespace context for interpreting a prefix within a QName.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A string containing a lexical representation of QName</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - if <code>val</code> is null or
 if <code>nsc</code> is non-null or <code>nsc.getPrefix(nsprefixFromVal)</code> is null.</dd>
</dl>
</li>
</ul>
<a name="printDateTime-java.util.Calendar-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>printDateTime</h4>
<pre>public static&nbsp;java.lang.String&nbsp;printDateTime(java.util.Calendar&nbsp;val)</pre>
<div class="block"><p>
 Converts a Calendar value into a string.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>val</code> - A Calendar value</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A string containing a lexical representation of xsd:dateTime</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - if <code>val</code> is null.</dd>
</dl>
</li>
</ul>
<a name="printBase64Binary-byte:A-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>printBase64Binary</h4>
<pre>public static&nbsp;java.lang.String&nbsp;printBase64Binary(byte[]&nbsp;val)</pre>
<div class="block"><p>
 Converts an array of bytes into a string.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>val</code> - An array of bytes</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A string containing a lexical representation of xsd:base64Binary</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - if <code>val</code> is null.</dd>
</dl>
</li>
</ul>
<a name="printHexBinary-byte:A-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>printHexBinary</h4>
<pre>public static&nbsp;java.lang.String&nbsp;printHexBinary(byte[]&nbsp;val)</pre>
<div class="block"><p>
 Converts an array of bytes into a string.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>val</code> - An array of bytes</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A string containing a lexical representation of xsd:hexBinary</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - if <code>val</code> is null.</dd>
</dl>
</li>
</ul>
<a name="printUnsignedInt-long-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>printUnsignedInt</h4>
<pre>public static&nbsp;java.lang.String&nbsp;printUnsignedInt(long&nbsp;val)</pre>
<div class="block"><p>
 Converts a long value into a string.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>val</code> - A long value</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A string containing a lexical representation of xsd:unsignedInt</dd>
</dl>
</li>
</ul>
<a name="printUnsignedShort-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>printUnsignedShort</h4>
<pre>public static&nbsp;java.lang.String&nbsp;printUnsignedShort(int&nbsp;val)</pre>
<div class="block"><p>
 Converts an int value into a string.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>val</code> - An int value</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A string containing a lexical representation of xsd:unsignedShort</dd>
</dl>
</li>
</ul>
<a name="printTime-java.util.Calendar-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>printTime</h4>
<pre>public static&nbsp;java.lang.String&nbsp;printTime(java.util.Calendar&nbsp;val)</pre>
<div class="block"><p>
 Converts a Calendar value into a string.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>val</code> - A Calendar value</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A string containing a lexical representation of xsd:time</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - if <code>val</code> is null.</dd>
</dl>
</li>
</ul>
<a name="printDate-java.util.Calendar-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>printDate</h4>
<pre>public static&nbsp;java.lang.String&nbsp;printDate(java.util.Calendar&nbsp;val)</pre>
<div class="block"><p>
 Converts a Calendar value into a string.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>val</code> - A Calendar value</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A string containing a lexical representation of xsd:date</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - if <code>val</code> is null.</dd>
</dl>
</li>
</ul>
<a name="printAnySimpleType-java.lang.String-">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>printAnySimpleType</h4>
<pre>public static&nbsp;java.lang.String&nbsp;printAnySimpleType(java.lang.String&nbsp;val)</pre>
<div class="block"><p>
 Converts a string value into a string.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>val</code> - A string value</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A string containing a lexical representation of xsd:AnySimpleType</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../jakarta/xml/bind/DataBindingException.html" title="class in jakarta.xml.bind"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../jakarta/xml/bind/DatatypeConverterInterface.html" title="interface in jakarta.xml.bind"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?jakarta/xml/bind/DatatypeConverter.html" target="_top">Frames</a></li>
<li><a href="DatatypeConverter.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>
