<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.4.2_08) on Sat Apr 22 18:56:42 PDT 2006 -->
<TITLE>
TypeMappingRegistry (Axis API)
</TITLE>

<META NAME="keywords" CONTENT="javax.xml.rpc.encoding.TypeMappingRegistry interface">

<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">

<SCRIPT type="text/javascript">
function windowTitle()
{
    parent.document.title="TypeMappingRegistry (Axis API)";
}
</SCRIPT>

</HEAD>

<BODY BGCOLOR="white" onload="windowTitle();">


<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/TypeMappingRegistry.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../javax/xml/rpc/encoding/TypeMapping.html" title="interface in javax.xml.rpc.encoding"><B>PREV CLASS</B></A>&nbsp;
&nbsp;NEXT CLASS</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="TypeMappingRegistry.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>

</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->

<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
javax.xml.rpc.encoding</FONT>
<BR>
Interface TypeMappingRegistry</H2>
<DL>
<DT><B>All Superinterfaces:</B> <DD>java.io.Serializable</DD>
</DL>
<DL>
<DT><B>All Known Subinterfaces:</B> <DD><A HREF="../../../../org/apache/axis/encoding/TypeMappingRegistry.html" title="interface in org.apache.axis.encoding">TypeMappingRegistry</A></DD>
</DL>
<DL>
<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../../org/apache/axis/encoding/TypeMappingRegistryImpl.html" title="class in org.apache.axis.encoding">TypeMappingRegistryImpl</A></DD>
</DL>
<HR>
<DL>
<DT>public interface <B>TypeMappingRegistry</B><DT>extends java.io.Serializable</DL>

<P>
The interface <code>javax.xml.rpc.encoding.TypeMappingRegistry</code>
 defines a registry of TypeMapping instances for various encoding
 styles.
<P>

<P>
<DL>
<DT><B>Version:</B></DT>
  <DD>1.0</DD>
</DL>
<HR>

<P>
<!-- ======== NESTED CLASS SUMMARY ======== -->


<!-- =========== FIELD SUMMARY =========== -->


<!-- ======== CONSTRUCTOR SUMMARY ======== -->


<!-- ========== METHOD SUMMARY =========== -->

<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Method Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../javax/xml/rpc/encoding/TypeMappingRegistry.html#clear()">clear</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Removes all registered TypeMappings and encodingStyleURIs
 from this TypeMappingRegistry.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../javax/xml/rpc/encoding/TypeMapping.html" title="interface in javax.xml.rpc.encoding">TypeMapping</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../javax/xml/rpc/encoding/TypeMappingRegistry.html#createTypeMapping()">createTypeMapping</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new empty <code>TypeMapping</code> object.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../javax/xml/rpc/encoding/TypeMapping.html" title="interface in javax.xml.rpc.encoding">TypeMapping</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../javax/xml/rpc/encoding/TypeMappingRegistry.html#getDefaultTypeMapping()">getDefaultTypeMapping</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the registered default <code>TypeMapping</code> instance.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../javax/xml/rpc/encoding/TypeMappingRegistry.html#getRegisteredEncodingStyleURIs()">getRegisteredEncodingStyleURIs</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a list of registered encodingStyle URIs in this
 <code>TypeMappingRegistry</code> instance.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../javax/xml/rpc/encoding/TypeMapping.html" title="interface in javax.xml.rpc.encoding">TypeMapping</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../javax/xml/rpc/encoding/TypeMappingRegistry.html#getTypeMapping(java.lang.String)">getTypeMapping</A></B>(java.lang.String&nbsp;encodingStyleURI)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the registered <code>TypeMapping</code> for the specified
 encodingStyle URI.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../javax/xml/rpc/encoding/TypeMapping.html" title="interface in javax.xml.rpc.encoding">TypeMapping</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../javax/xml/rpc/encoding/TypeMappingRegistry.html#register(java.lang.String, javax.xml.rpc.encoding.TypeMapping)">register</A></B>(java.lang.String&nbsp;encodingStyleURI,
         <A HREF="../../../../javax/xml/rpc/encoding/TypeMapping.html" title="interface in javax.xml.rpc.encoding">TypeMapping</A>&nbsp;mapping)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Registers a <code>TypeMapping</code> instance with the
 <code>TypeMappingRegistry</code>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../javax/xml/rpc/encoding/TypeMappingRegistry.html#registerDefault(javax.xml.rpc.encoding.TypeMapping)">registerDefault</A></B>(<A HREF="../../../../javax/xml/rpc/encoding/TypeMapping.html" title="interface in javax.xml.rpc.encoding">TypeMapping</A>&nbsp;mapping)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Registers the <code>TypeMapping</code> instance that is default
 for all encoding styles supported by the
 <code>TypeMappingRegistry</code>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../javax/xml/rpc/encoding/TypeMappingRegistry.html#removeTypeMapping(javax.xml.rpc.encoding.TypeMapping)">removeTypeMapping</A></B>(<A HREF="../../../../javax/xml/rpc/encoding/TypeMapping.html" title="interface in javax.xml.rpc.encoding">TypeMapping</A>&nbsp;mapping)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Removes a <code>TypeMapping</code> from the TypeMappingRegistry.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../javax/xml/rpc/encoding/TypeMapping.html" title="interface in javax.xml.rpc.encoding">TypeMapping</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../javax/xml/rpc/encoding/TypeMappingRegistry.html#unregisterTypeMapping(java.lang.String)">unregisterTypeMapping</A></B>(java.lang.String&nbsp;encodingStyleURI)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Unregisters a TypeMapping instance, if present, from the specified
 encodingStyleURI.</TD>
</TR>
</TABLE>
&nbsp;
<P>

<!-- ============ FIELD DETAIL =========== -->


<!-- ========= CONSTRUCTOR DETAIL ======== -->


<!-- ============ METHOD DETAIL ========== -->

<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Method Detail</B></FONT></TD>
</TR>
</TABLE>

<A NAME="register(java.lang.String, javax.xml.rpc.encoding.TypeMapping)"><!-- --></A><H3>
register</H3>
<PRE>
public <A HREF="../../../../javax/xml/rpc/encoding/TypeMapping.html" title="interface in javax.xml.rpc.encoding">TypeMapping</A> <B>register</B>(java.lang.String&nbsp;encodingStyleURI,
                            <A HREF="../../../../javax/xml/rpc/encoding/TypeMapping.html" title="interface in javax.xml.rpc.encoding">TypeMapping</A>&nbsp;mapping)</PRE>
<DL>
<DD>Registers a <code>TypeMapping</code> instance with the
 <code>TypeMappingRegistry</code>. This method replaces any
 existing registered <code>TypeMapping</code> instance for
 the specified <code>encodingStyleURI</code>.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>encodingStyleURI</CODE> - An encoding style specified as an URI.
             An example is "http://schemas.xmlsoap.org/soap/encoding/"<DD><CODE>mapping</CODE> - TypeMapping instance
<DT><B>Returns:</B><DD>Previous TypeMapping associated with the specified
     <code>encodingStyleURI</code>, or <code>null</code>
     if there was no TypeMapping associated with the specified
     <code>encodingStyleURI</code>
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../javax/xml/rpc/JAXRPCException.html" title="class in javax.xml.rpc">JAXRPCException</A></CODE> - if there is any error that prevents
              the registration of the <code>TypeMapping</code> for
              the specified <code>encodingStyleURI</code></DL>
</DD>
</DL>
<HR>

<A NAME="registerDefault(javax.xml.rpc.encoding.TypeMapping)"><!-- --></A><H3>
registerDefault</H3>
<PRE>
public void <B>registerDefault</B>(<A HREF="../../../../javax/xml/rpc/encoding/TypeMapping.html" title="interface in javax.xml.rpc.encoding">TypeMapping</A>&nbsp;mapping)</PRE>
<DL>
<DD>Registers the <code>TypeMapping</code> instance that is default
 for all encoding styles supported by the
 <code>TypeMappingRegistry</code>. A default <code>TypeMapping</code>
 should include serializers and deserializers that are independent
 of and usable with any encoding style. Successive invocations
 of the <code>registerDefault</code> method replace any existing
 default <code>TypeMapping</code> instance.
 <p>
 If the default <code>TypeMapping</code> is registered, any
 other TypeMapping instances registered through the
 <code>TypeMappingRegistry.register</code> method (for a set
 of encodingStyle URIs) override the default <code>TypeMapping</code>.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>mapping</CODE> - TypeMapping instance
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../javax/xml/rpc/JAXRPCException.html" title="class in javax.xml.rpc">JAXRPCException</A></CODE> - if there is any error that
              prevents the registration of the default
              <code>TypeMapping</code></DL>
</DD>
</DL>
<HR>

<A NAME="getDefaultTypeMapping()"><!-- --></A><H3>
getDefaultTypeMapping</H3>
<PRE>
public <A HREF="../../../../javax/xml/rpc/encoding/TypeMapping.html" title="interface in javax.xml.rpc.encoding">TypeMapping</A> <B>getDefaultTypeMapping</B>()</PRE>
<DL>
<DD>Gets the registered default <code>TypeMapping</code> instance.
 This method returns <code>null</code> if there is no registered
 default TypeMapping in the registry.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>The registered default <code>TypeMapping</code> instance
     or <code>null</code></DL>
</DD>
</DL>
<HR>

<A NAME="getRegisteredEncodingStyleURIs()"><!-- --></A><H3>
getRegisteredEncodingStyleURIs</H3>
<PRE>
public java.lang.String[] <B>getRegisteredEncodingStyleURIs</B>()</PRE>
<DL>
<DD>Returns a list of registered encodingStyle URIs in this
 <code>TypeMappingRegistry</code> instance.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>Array of the registered encodingStyle URIs</DL>
</DD>
</DL>
<HR>

<A NAME="getTypeMapping(java.lang.String)"><!-- --></A><H3>
getTypeMapping</H3>
<PRE>
public <A HREF="../../../../javax/xml/rpc/encoding/TypeMapping.html" title="interface in javax.xml.rpc.encoding">TypeMapping</A> <B>getTypeMapping</B>(java.lang.String&nbsp;encodingStyleURI)</PRE>
<DL>
<DD>Returns the registered <code>TypeMapping</code> for the specified
 encodingStyle URI. If there is no registered <code>TypeMapping</code>
 for the specified <code>encodingStyleURI</code>, this method
 returns <code>null</code>.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>encodingStyleURI</CODE> - Encoding style specified as an URI
<DT><B>Returns:</B><DD>TypeMapping for the specified encodingStyleURI or
     <code>null</code></DL>
</DD>
</DL>
<HR>

<A NAME="createTypeMapping()"><!-- --></A><H3>
createTypeMapping</H3>
<PRE>
public <A HREF="../../../../javax/xml/rpc/encoding/TypeMapping.html" title="interface in javax.xml.rpc.encoding">TypeMapping</A> <B>createTypeMapping</B>()</PRE>
<DL>
<DD>Creates a new empty <code>TypeMapping</code> object.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>TypeMapping instance.</DL>
</DD>
</DL>
<HR>

<A NAME="unregisterTypeMapping(java.lang.String)"><!-- --></A><H3>
unregisterTypeMapping</H3>
<PRE>
public <A HREF="../../../../javax/xml/rpc/encoding/TypeMapping.html" title="interface in javax.xml.rpc.encoding">TypeMapping</A> <B>unregisterTypeMapping</B>(java.lang.String&nbsp;encodingStyleURI)</PRE>
<DL>
<DD>Unregisters a TypeMapping instance, if present, from the specified
 encodingStyleURI.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>encodingStyleURI</CODE> - Encoding style specified as an URI
<DT><B>Returns:</B><DD><code>TypeMapping</code> instance that has been unregistered
     or <code>null</code> if there was no TypeMapping
     registered for the specified <code>encodingStyleURI</code></DL>
</DD>
</DL>
<HR>

<A NAME="removeTypeMapping(javax.xml.rpc.encoding.TypeMapping)"><!-- --></A><H3>
removeTypeMapping</H3>
<PRE>
public boolean <B>removeTypeMapping</B>(<A HREF="../../../../javax/xml/rpc/encoding/TypeMapping.html" title="interface in javax.xml.rpc.encoding">TypeMapping</A>&nbsp;mapping)</PRE>
<DL>
<DD>Removes a <code>TypeMapping</code> from the TypeMappingRegistry. A
 <code>TypeMapping</code> is associated with 1 or more
 encodingStyleURIs. This method unregisters the specified
 <code>TypeMapping</code> instance from all associated
 <code>encodingStyleURIs</code> and then removes this
 TypeMapping instance from the registry.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>mapping</CODE> - TypeMapping to remove
<DT><B>Returns:</B><DD><code>true</code> if specified <code>TypeMapping</code>
     is removed from the TypeMappingRegistry; <code>false</code>
     if the specified <code>TypeMapping</code> was not in the
     <code>TypeMappingRegistry</code></DL>
</DD>
</DL>
<HR>

<A NAME="clear()"><!-- --></A><H3>
clear</H3>
<PRE>
public void <B>clear</B>()</PRE>
<DL>
<DD>Removes all registered TypeMappings and encodingStyleURIs
 from this TypeMappingRegistry.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>


<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/TypeMappingRegistry.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../javax/xml/rpc/encoding/TypeMapping.html" title="interface in javax.xml.rpc.encoding"><B>PREV CLASS</B></A>&nbsp;
&nbsp;NEXT CLASS</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="TypeMappingRegistry.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>

</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->

<HR>
Copyright © 2005 Apache Web Services Project. All Rights Reserved.
</BODY>
</HTML>
