<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>org.apache.axis.holders Class Hierarchy (Apache Axis)</title>
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="org.apache.axis.holders Class Hierarchy (Apache Axis)";
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!--   -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><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</li>
<li>Use</li>
<li class="navBarCell1Rev">Tree</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="../../../../org/apache/axis/handlers/soap/package-tree.html">Prev</a></li>
<li><a href="../../../../org/apache/axis/i18n/package-tree.html">Next</a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/axis/holders/package-tree.html" target="_top">Frames</a></li>
<li><a href="package-tree.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses-noframe.html">All 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>
<a name="skip-navbar_top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<h1 class="title">Hierarchy For Package org.apache.axis.holders</h1>
<span class="strong">Package Hierarchies:</span>
<ul class="horizontal">
<li><a href="../../../../overview-tree.html">All Packages</a></li>
</ul>
</div>
<div class="contentContainer">
<h2 title="Class Hierarchy">Class Hierarchy</h2>
<ul>
<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="strong">Object</span></a>
<ul>
<li type="circle">org.apache.axis.holders.<a href="../../../../org/apache/axis/holders/DataHandlerHolder.html" title="class in org.apache.axis.holders"><span class="strong">DataHandlerHolder</span></a> (implements javax.xml.rpc.holders.<a href="../../../../javax/xml/rpc/holders/Holder.html" title="interface in javax.xml.rpc.holders">Holder</a>)</li>
<li type="circle">org.apache.axis.holders.<a href="../../../../org/apache/axis/holders/DateHolder.html" title="class in org.apache.axis.holders"><span class="strong">DateHolder</span></a> (implements javax.xml.rpc.holders.<a href="../../../../javax/xml/rpc/holders/Holder.html" title="interface in javax.xml.rpc.holders">Holder</a>)</li>
<li type="circle">org.apache.axis.holders.<a href="../../../../org/apache/axis/holders/DayHolder.html" title="class in org.apache.axis.holders"><span class="strong">DayHolder</span></a> (implements javax.xml.rpc.holders.<a href="../../../../javax/xml/rpc/holders/Holder.html" title="interface in javax.xml.rpc.holders">Holder</a>)</li>
<li type="circle">org.apache.axis.holders.<a href="../../../../org/apache/axis/holders/DurationHolder.html" title="class in org.apache.axis.holders"><span class="strong">DurationHolder</span></a> (implements javax.xml.rpc.holders.<a href="../../../../javax/xml/rpc/holders/Holder.html" title="interface in javax.xml.rpc.holders">Holder</a>)</li>
<li type="circle">org.apache.axis.holders.<a href="../../../../org/apache/axis/holders/HexBinaryHolder.html" title="class in org.apache.axis.holders"><span class="strong">HexBinaryHolder</span></a> (implements javax.xml.rpc.holders.<a href="../../../../javax/xml/rpc/holders/Holder.html" title="interface in javax.xml.rpc.holders">Holder</a>)</li>
<li type="circle">org.apache.axis.holders.<a href="../../../../org/apache/axis/holders/ImageHolder.html" title="class in org.apache.axis.holders"><span class="strong">ImageHolder</span></a> (implements javax.xml.rpc.holders.<a href="../../../../javax/xml/rpc/holders/Holder.html" title="interface in javax.xml.rpc.holders">Holder</a>)</li>
<li type="circle">org.apache.axis.holders.<a href="../../../../org/apache/axis/holders/MimeMultipartHolder.html" title="class in org.apache.axis.holders"><span class="strong">MimeMultipartHolder</span></a> (implements javax.xml.rpc.holders.<a href="../../../../javax/xml/rpc/holders/Holder.html" title="interface in javax.xml.rpc.holders">Holder</a>)</li>
<li type="circle">org.apache.axis.holders.<a href="../../../../org/apache/axis/holders/MonthDayHolder.html" title="class in org.apache.axis.holders"><span class="strong">MonthDayHolder</span></a> (implements javax.xml.rpc.holders.<a href="../../../../javax/xml/rpc/holders/Holder.html" title="interface in javax.xml.rpc.holders">Holder</a>)</li>
<li type="circle">org.apache.axis.holders.<a href="../../../../org/apache/axis/holders/MonthHolder.html" title="class in org.apache.axis.holders"><span class="strong">MonthHolder</span></a> (implements javax.xml.rpc.holders.<a href="../../../../javax/xml/rpc/holders/Holder.html" title="interface in javax.xml.rpc.holders">Holder</a>)</li>
<li type="circle">org.apache.axis.holders.<a href="../../../../org/apache/axis/holders/NegativeIntegerHolder.html" title="class in org.apache.axis.holders"><span class="strong">NegativeIntegerHolder</span></a> (implements javax.xml.rpc.holders.<a href="../../../../javax/xml/rpc/holders/Holder.html" title="interface in javax.xml.rpc.holders">Holder</a>)</li>
<li type="circle">org.apache.axis.holders.<a href="../../../../org/apache/axis/holders/NonNegativeIntegerHolder.html" title="class in org.apache.axis.holders"><span class="strong">NonNegativeIntegerHolder</span></a> (implements javax.xml.rpc.holders.<a href="../../../../javax/xml/rpc/holders/Holder.html" title="interface in javax.xml.rpc.holders">Holder</a>)</li>
<li type="circle">org.apache.axis.holders.<a href="../../../../org/apache/axis/holders/NonPositiveIntegerHolder.html" title="class in org.apache.axis.holders"><span class="strong">NonPositiveIntegerHolder</span></a> (implements javax.xml.rpc.holders.<a href="../../../../javax/xml/rpc/holders/Holder.html" title="interface in javax.xml.rpc.holders">Holder</a>)</li>
<li type="circle">org.apache.axis.holders.<a href="../../../../org/apache/axis/holders/NormalizedStringHolder.html" title="class in org.apache.axis.holders"><span class="strong">NormalizedStringHolder</span></a> (implements javax.xml.rpc.holders.<a href="../../../../javax/xml/rpc/holders/Holder.html" title="interface in javax.xml.rpc.holders">Holder</a>)</li>
<li type="circle">org.apache.axis.holders.<a href="../../../../org/apache/axis/holders/OctetStreamHolder.html" title="class in org.apache.axis.holders"><span class="strong">OctetStreamHolder</span></a> (implements javax.xml.rpc.holders.<a href="../../../../javax/xml/rpc/holders/Holder.html" title="interface in javax.xml.rpc.holders">Holder</a>)</li>
<li type="circle">org.apache.axis.holders.<a href="../../../../org/apache/axis/holders/PositiveIntegerHolder.html" title="class in org.apache.axis.holders"><span class="strong">PositiveIntegerHolder</span></a> (implements javax.xml.rpc.holders.<a href="../../../../javax/xml/rpc/holders/Holder.html" title="interface in javax.xml.rpc.holders">Holder</a>)</li>
<li type="circle">org.apache.axis.holders.<a href="../../../../org/apache/axis/holders/SchemaHolder.html" title="class in org.apache.axis.holders"><span class="strong">SchemaHolder</span></a> (implements javax.xml.rpc.holders.<a href="../../../../javax/xml/rpc/holders/Holder.html" title="interface in javax.xml.rpc.holders">Holder</a>)</li>
<li type="circle">org.apache.axis.holders.<a href="../../../../org/apache/axis/holders/SourceHolder.html" title="class in org.apache.axis.holders"><span class="strong">SourceHolder</span></a> (implements javax.xml.rpc.holders.<a href="../../../../javax/xml/rpc/holders/Holder.html" title="interface in javax.xml.rpc.holders">Holder</a>)</li>
<li type="circle">org.apache.axis.holders.<a href="../../../../org/apache/axis/holders/TimeHolder.html" title="class in org.apache.axis.holders"><span class="strong">TimeHolder</span></a> (implements javax.xml.rpc.holders.<a href="../../../../javax/xml/rpc/holders/Holder.html" title="interface in javax.xml.rpc.holders">Holder</a>)</li>
<li type="circle">org.apache.axis.holders.<a href="../../../../org/apache/axis/holders/TokenHolder.html" title="class in org.apache.axis.holders"><span class="strong">TokenHolder</span></a> (implements javax.xml.rpc.holders.<a href="../../../../javax/xml/rpc/holders/Holder.html" title="interface in javax.xml.rpc.holders">Holder</a>)</li>
<li type="circle">org.apache.axis.holders.<a href="../../../../org/apache/axis/holders/UnsignedByteHolder.html" title="class in org.apache.axis.holders"><span class="strong">UnsignedByteHolder</span></a> (implements javax.xml.rpc.holders.<a href="../../../../javax/xml/rpc/holders/Holder.html" title="interface in javax.xml.rpc.holders">Holder</a>)</li>
<li type="circle">org.apache.axis.holders.<a href="../../../../org/apache/axis/holders/UnsignedIntHolder.html" title="class in org.apache.axis.holders"><span class="strong">UnsignedIntHolder</span></a> (implements javax.xml.rpc.holders.<a href="../../../../javax/xml/rpc/holders/Holder.html" title="interface in javax.xml.rpc.holders">Holder</a>)</li>
<li type="circle">org.apache.axis.holders.<a href="../../../../org/apache/axis/holders/UnsignedLongHolder.html" title="class in org.apache.axis.holders"><span class="strong">UnsignedLongHolder</span></a> (implements javax.xml.rpc.holders.<a href="../../../../javax/xml/rpc/holders/Holder.html" title="interface in javax.xml.rpc.holders">Holder</a>)</li>
<li type="circle">org.apache.axis.holders.<a href="../../../../org/apache/axis/holders/UnsignedShortHolder.html" title="class in org.apache.axis.holders"><span class="strong">UnsignedShortHolder</span></a> (implements javax.xml.rpc.holders.<a href="../../../../javax/xml/rpc/holders/Holder.html" title="interface in javax.xml.rpc.holders">Holder</a>)</li>
<li type="circle">org.apache.axis.holders.<a href="../../../../org/apache/axis/holders/URIHolder.html" title="class in org.apache.axis.holders"><span class="strong">URIHolder</span></a> (implements javax.xml.rpc.holders.<a href="../../../../javax/xml/rpc/holders/Holder.html" title="interface in javax.xml.rpc.holders">Holder</a>)</li>
<li type="circle">org.apache.axis.holders.<a href="../../../../org/apache/axis/holders/YearHolder.html" title="class in org.apache.axis.holders"><span class="strong">YearHolder</span></a> (implements javax.xml.rpc.holders.<a href="../../../../javax/xml/rpc/holders/Holder.html" title="interface in javax.xml.rpc.holders">Holder</a>)</li>
<li type="circle">org.apache.axis.holders.<a href="../../../../org/apache/axis/holders/YearMonthHolder.html" title="class in org.apache.axis.holders"><span class="strong">YearMonthHolder</span></a> (implements javax.xml.rpc.holders.<a href="../../../../javax/xml/rpc/holders/Holder.html" title="interface in javax.xml.rpc.holders">Holder</a>)</li>
</ul>
</li>
</ul>
</div>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!--   -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><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</li>
<li>Use</li>
<li class="navBarCell1Rev">Tree</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="../../../../org/apache/axis/handlers/soap/package-tree.html">Prev</a></li>
<li><a href="../../../../org/apache/axis/i18n/package-tree.html">Next</a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/axis/holders/package-tree.html" target="_top">Frames</a></li>
<li><a href="package-tree.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses-noframe.html">All 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>
<a name="skip-navbar_bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright © <a href="http://www.apache.org/">The Apache Software Foundation</a>. All Rights Reserved.</small></p>
</body>
</html>