<!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>SoapRefType (Apache CXF JavaDoc 3.1.0 API)</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="SoapRefType (Apache CXF JavaDoc 3.1.0 API)";
    }
//-->
</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="navBarCell1Rev">Class</li>
<li><a href="class-use/SoapRefType.html">Use</a></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 class="aboutLanguage"><em>Apache CXF API</em></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../org/apache/cxf/aegis/type/encoded/SoapRefRegistry.html" title="class in org.apache.cxf.aegis.type.encoded"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../../../org/apache/cxf/aegis/type/encoded/StructType.html" title="class in org.apache.cxf.aegis.type.encoded"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/cxf/aegis/type/encoded/SoapRefType.html" target="_top">Frames</a></li>
<li><a href="SoapRefType.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>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#fields_inherited_from_class_org.apache.cxf.aegis.type.AegisType">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&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><a href="#constructor_detail">Constr</a>&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">org.apache.cxf.aegis.type.encoded</div>
<h2 title="Class SoapRefType" class="title">Class SoapRefType</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../../../org/apache/cxf/aegis/type/AegisType.html" title="class in org.apache.cxf.aegis.type">org.apache.cxf.aegis.type.AegisType</a></li>
<li>
<ul class="inheritance">
<li>org.apache.cxf.aegis.type.encoded.SoapRefType</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public class <span class="strong">SoapRefType</span>
extends <a href="../../../../../../org/apache/cxf/aegis/type/AegisType.html" title="class in org.apache.cxf.aegis.type">AegisType</a></pre>
<div class="block">SoapRefType reads and writes SoapRef objects.
 <p/>
 When reading, this class checks for a SOAP ref attribute, and if present creates SoapRef and registers it
 with the SoapRefRegistry.  If the SOAP ref attribute is not present, this class delegates to the baseType
 specified in the constructor.  Regardless of the element containing SOAP ref or not, a SoapRef object is
 returned. In the case of an inline object the SoapRef will contain a null value.
 <p/>
 When writing, the class always writes an element containing a SOAP ref attribute.  The actual object
 instance is registered with the MarshalRegistry, and is written at the end of the message body by the
 TrailingBlocks class.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_summary">
<!--   -->
</a>
<h3>Field Summary</h3>
<ul class="blockList">
<li class="blockList"><a name="fields_inherited_from_class_org.apache.cxf.aegis.type.AegisType">
<!--   -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.cxf.aegis.type.<a href="../../../../../../org/apache/cxf/aegis/type/AegisType.html" title="class in org.apache.cxf.aegis.type">AegisType</a></h3>
<code><a href="../../../../../../org/apache/cxf/aegis/type/AegisType.html#typeClass">typeClass</a></code></li>
</ul>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../../../../org/apache/cxf/aegis/type/encoded/SoapRefType.html#SoapRefType(org.apache.cxf.aegis.type.AegisType)">SoapRefType</a></strong>(<a href="../../../../../../org/apache/cxf/aegis/type/AegisType.html" title="class in org.apache.cxf.aegis.type">AegisType</a>&nbsp;baseType)</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../../org/apache/cxf/aegis/type/AegisType.html" title="class in org.apache.cxf.aegis.type">AegisType</a>&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/cxf/aegis/type/encoded/SoapRefType.html#getDependencies()">getDependencies</a></strong>()</code>
<div class="block">Return a set of AegisType dependencies.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/javax/xml/namespace/QName.html?is-external=true" title="class or interface in javax.xml.namespace">QName</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/cxf/aegis/type/encoded/SoapRefType.html#getSchemaType()">getSchemaType</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/cxf/aegis/type/encoded/SoapRefType.html#getTypeClass()">getTypeClass</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/cxf/aegis/type/TypeMapping.html" title="interface in org.apache.cxf.aegis.type">TypeMapping</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/cxf/aegis/type/encoded/SoapRefType.html#getTypeMapping()">getTypeMapping</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/cxf/aegis/type/encoded/SoapRefType.html#isAbstract()">isAbstract</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/cxf/aegis/type/encoded/SoapRefType.html#isComplex()">isComplex</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/cxf/aegis/type/encoded/SoapRefType.html#isNillable()">isNillable</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/cxf/aegis/type/encoded/SoapRefType.html#isWriteOuter()">isWriteOuter</a></strong>()</code>
<div class="block">Defaults to true.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/cxf/aegis/type/encoded/SoapRefType.html#readObject(org.apache.cxf.aegis.xml.MessageReader,%20org.apache.cxf.aegis.Context)">readObject</a></strong>(<a href="../../../../../../org/apache/cxf/aegis/xml/MessageReader.html" title="interface in org.apache.cxf.aegis.xml">MessageReader</a>&nbsp;reader,
          <a href="../../../../../../org/apache/cxf/aegis/Context.html" title="class in org.apache.cxf.aegis">Context</a>&nbsp;context)</code>
<div class="block">Read in the XML fragment and create an object.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/cxf/aegis/type/encoded/SoapRefType.html#setAbstract(boolean)">setAbstract</a></strong>(boolean&nbsp;ab)</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/cxf/aegis/type/encoded/SoapRefType.html#setNillable(boolean)">setNillable</a></strong>(boolean&nbsp;nillable)</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/cxf/aegis/type/encoded/SoapRefType.html#setSchemaType(javax.xml.namespace.QName)">setSchemaType</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/javax/xml/namespace/QName.html?is-external=true" title="class or interface in javax.xml.namespace">QName</a>&nbsp;name)</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/cxf/aegis/type/encoded/SoapRefType.html#setTypeClass(java.lang.Class)">setTypeClass</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;typeClass)</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/cxf/aegis/type/encoded/SoapRefType.html#setTypeMapping(org.apache.cxf.aegis.type.TypeMapping)">setTypeMapping</a></strong>(<a href="../../../../../../org/apache/cxf/aegis/type/TypeMapping.html" title="interface in org.apache.cxf.aegis.type">TypeMapping</a>&nbsp;typeMapping)</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/cxf/aegis/type/encoded/SoapRefType.html#setWriteOuter(boolean)">setWriteOuter</a></strong>(boolean&nbsp;writeOuter)</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/cxf/aegis/type/encoded/SoapRefType.html#writeObject(java.lang.Object,%20org.apache.cxf.aegis.xml.MessageWriter,%20org.apache.cxf.aegis.Context)">writeObject</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;object,
           <a href="../../../../../../org/apache/cxf/aegis/xml/MessageWriter.html" title="interface in org.apache.cxf.aegis.xml">MessageWriter</a>&nbsp;writer,
           <a href="../../../../../../org/apache/cxf/aegis/Context.html" title="class in org.apache.cxf.aegis">Context</a>&nbsp;context)</code>
<div class="block">Writes the object to the MessageWriter.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/cxf/aegis/type/encoded/SoapRefType.html#writeSchema(org.apache.ws.commons.schema.XmlSchema)">writeSchema</a></strong>(org.apache.ws.commons.schema.XmlSchema&nbsp;schema)</code>
<div class="block">If this type should correspond to a global, named, schema type, here is where the
 type object adds it to the schema.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_org.apache.cxf.aegis.type.AegisType">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.cxf.aegis.type.<a href="../../../../../../org/apache/cxf/aegis/type/AegisType.html" title="class in org.apache.cxf.aegis.type">AegisType</a></h3>
<code><a href="../../../../../../org/apache/cxf/aegis/type/AegisType.html#addToSchemaElement(org.apache.ws.commons.schema.XmlSchemaElement)">addToSchemaElement</a>, <a href="../../../../../../org/apache/cxf/aegis/type/AegisType.html#equals(java.lang.Object)">equals</a>, <a href="../../../../../../org/apache/cxf/aegis/type/AegisType.html#getMaxOccurs()">getMaxOccurs</a>, <a href="../../../../../../org/apache/cxf/aegis/type/AegisType.html#getMinOccurs()">getMinOccurs</a>, <a href="../../../../../../org/apache/cxf/aegis/type/AegisType.html#getType()">getType</a>, <a href="../../../../../../org/apache/cxf/aegis/type/AegisType.html#hashCode()">hashCode</a>, <a href="../../../../../../org/apache/cxf/aegis/type/AegisType.html#hasMaxOccurs()">hasMaxOccurs</a>, <a href="../../../../../../org/apache/cxf/aegis/type/AegisType.html#hasMinOccurs()">hasMinOccurs</a>, <a href="../../../../../../org/apache/cxf/aegis/type/AegisType.html#isFlatArray()">isFlatArray</a>, <a href="../../../../../../org/apache/cxf/aegis/type/AegisType.html#setFlatArray(boolean)">setFlatArray</a>, <a href="../../../../../../org/apache/cxf/aegis/type/AegisType.html#setTypeClass(java.lang.reflect.Type)">setTypeClass</a>, <a href="../../../../../../org/apache/cxf/aegis/type/AegisType.html#toString()">toString</a>, <a href="../../../../../../org/apache/cxf/aegis/type/AegisType.html#usesUtilityTypes()">usesUtilityTypes</a>, <a href="../../../../../../org/apache/cxf/aegis/type/AegisType.html#usesXmime()">usesXmime</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long,%20int)" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="SoapRefType(org.apache.cxf.aegis.type.AegisType)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>SoapRefType</h4>
<pre>public&nbsp;SoapRefType(<a href="../../../../../../org/apache/cxf/aegis/type/AegisType.html" title="class in org.apache.cxf.aegis.type">AegisType</a>&nbsp;baseType)</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="readObject(org.apache.cxf.aegis.xml.MessageReader, org.apache.cxf.aegis.Context)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>readObject</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;readObject(<a href="../../../../../../org/apache/cxf/aegis/xml/MessageReader.html" title="interface in org.apache.cxf.aegis.xml">MessageReader</a>&nbsp;reader,
                <a href="../../../../../../org/apache/cxf/aegis/Context.html" title="class in org.apache.cxf.aegis">Context</a>&nbsp;context)
                  throws <a href="../../../../../../org/apache/cxf/aegis/DatabindingException.html" title="class in org.apache.cxf.aegis">DatabindingException</a></pre>
<div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/cxf/aegis/type/AegisType.html#readObject(org.apache.cxf.aegis.xml.MessageReader,%20org.apache.cxf.aegis.Context)">AegisType</a></code></strong></div>
<div class="block">Read in the XML fragment and create an object.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/cxf/aegis/type/AegisType.html#readObject(org.apache.cxf.aegis.xml.MessageReader,%20org.apache.cxf.aegis.Context)">readObject</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/cxf/aegis/type/AegisType.html" title="class in org.apache.cxf.aegis.type">AegisType</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd></dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../../org/apache/cxf/aegis/DatabindingException.html" title="class in org.apache.cxf.aegis">DatabindingException</a></code></dd></dl>
</li>
</ul>
<a name="writeObject(java.lang.Object, org.apache.cxf.aegis.xml.MessageWriter, org.apache.cxf.aegis.Context)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>writeObject</h4>
<pre>public&nbsp;void&nbsp;writeObject(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;object,
               <a href="../../../../../../org/apache/cxf/aegis/xml/MessageWriter.html" title="interface in org.apache.cxf.aegis.xml">MessageWriter</a>&nbsp;writer,
               <a href="../../../../../../org/apache/cxf/aegis/Context.html" title="class in org.apache.cxf.aegis">Context</a>&nbsp;context)
                 throws <a href="../../../../../../org/apache/cxf/aegis/DatabindingException.html" title="class in org.apache.cxf.aegis">DatabindingException</a></pre>
<div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/cxf/aegis/type/AegisType.html#writeObject(java.lang.Object,%20org.apache.cxf.aegis.xml.MessageWriter,%20org.apache.cxf.aegis.Context)">AegisType</a></code></strong></div>
<div class="block">Writes the object to the MessageWriter.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/cxf/aegis/type/AegisType.html#writeObject(java.lang.Object,%20org.apache.cxf.aegis.xml.MessageWriter,%20org.apache.cxf.aegis.Context)">writeObject</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/cxf/aegis/type/AegisType.html" title="class in org.apache.cxf.aegis.type">AegisType</a></code></dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../../org/apache/cxf/aegis/DatabindingException.html" title="class in org.apache.cxf.aegis">DatabindingException</a></code></dd></dl>
</li>
</ul>
<a name="writeSchema(org.apache.ws.commons.schema.XmlSchema)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>writeSchema</h4>
<pre>public&nbsp;void&nbsp;writeSchema(org.apache.ws.commons.schema.XmlSchema&nbsp;schema)</pre>
<div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/cxf/aegis/type/AegisType.html#writeSchema(org.apache.ws.commons.schema.XmlSchema)">AegisType</a></code></strong></div>
<div class="block">If this type should correspond to a global, named, schema type, here is where the
 type object adds it to the schema.</div>
<dl>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../../../org/apache/cxf/aegis/type/AegisType.html#writeSchema(org.apache.ws.commons.schema.XmlSchema)">writeSchema</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/cxf/aegis/type/AegisType.html" title="class in org.apache.cxf.aegis.type">AegisType</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>schema</code> - root of the XSD document.</dd></dl>
</li>
</ul>
<a name="getTypeMapping()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTypeMapping</h4>
<pre>public&nbsp;<a href="../../../../../../org/apache/cxf/aegis/type/TypeMapping.html" title="interface in org.apache.cxf.aegis.type">TypeMapping</a>&nbsp;getTypeMapping()</pre>
<dl>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../../../org/apache/cxf/aegis/type/AegisType.html#getTypeMapping()">getTypeMapping</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/cxf/aegis/type/AegisType.html" title="class in org.apache.cxf.aegis.type">AegisType</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Returns the typeMapping.</dd></dl>
</li>
</ul>
<a name="setTypeMapping(org.apache.cxf.aegis.type.TypeMapping)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setTypeMapping</h4>
<pre>public&nbsp;void&nbsp;setTypeMapping(<a href="../../../../../../org/apache/cxf/aegis/type/TypeMapping.html" title="interface in org.apache.cxf.aegis.type">TypeMapping</a>&nbsp;typeMapping)</pre>
<dl>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../../../org/apache/cxf/aegis/type/AegisType.html#setTypeMapping(org.apache.cxf.aegis.type.TypeMapping)">setTypeMapping</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/cxf/aegis/type/AegisType.html" title="class in org.apache.cxf.aegis.type">AegisType</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>typeMapping</code> - The typeMapping to set.</dd></dl>
</li>
</ul>
<a name="getTypeClass()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTypeClass</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;getTypeClass()</pre>
<dl>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../../../org/apache/cxf/aegis/type/AegisType.html#getTypeClass()">getTypeClass</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/cxf/aegis/type/AegisType.html" title="class in org.apache.cxf.aegis.type">AegisType</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Returns the java type as a Class. 
 For a generic, return the raw type. For something
 truly exotic, return null.</dd></dl>
</li>
</ul>
<a name="setTypeClass(java.lang.Class)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setTypeClass</h4>
<pre>public&nbsp;void&nbsp;setTypeClass(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;typeClass)</pre>
</li>
</ul>
<a name="isComplex()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isComplex</h4>
<pre>public&nbsp;boolean&nbsp;isComplex()</pre>
<dl>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../../../org/apache/cxf/aegis/type/AegisType.html#isComplex()">isComplex</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/cxf/aegis/type/AegisType.html" title="class in org.apache.cxf.aegis.type">AegisType</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>True if a complex type schema must be written.</dd></dl>
</li>
</ul>
<a name="isAbstract()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isAbstract</h4>
<pre>public&nbsp;boolean&nbsp;isAbstract()</pre>
<dl>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../../../org/apache/cxf/aegis/type/AegisType.html#isAbstract()">isAbstract</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/cxf/aegis/type/AegisType.html" title="class in org.apache.cxf.aegis.type">AegisType</a></code></dd>
</dl>
</li>
</ul>
<a name="setAbstract(boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setAbstract</h4>
<pre>public&nbsp;void&nbsp;setAbstract(boolean&nbsp;ab)</pre>
<dl>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../../../org/apache/cxf/aegis/type/AegisType.html#setAbstract(boolean)">setAbstract</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/cxf/aegis/type/AegisType.html" title="class in org.apache.cxf.aegis.type">AegisType</a></code></dd>
</dl>
</li>
</ul>
<a name="isNillable()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isNillable</h4>
<pre>public&nbsp;boolean&nbsp;isNillable()</pre>
<dl>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../../../org/apache/cxf/aegis/type/AegisType.html#isNillable()">isNillable</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/cxf/aegis/type/AegisType.html" title="class in org.apache.cxf.aegis.type">AegisType</a></code></dd>
</dl>
</li>
</ul>
<a name="setNillable(boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setNillable</h4>
<pre>public&nbsp;void&nbsp;setNillable(boolean&nbsp;nillable)</pre>
<dl>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../../../org/apache/cxf/aegis/type/AegisType.html#setNillable(boolean)">setNillable</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/cxf/aegis/type/AegisType.html" title="class in org.apache.cxf.aegis.type">AegisType</a></code></dd>
</dl>
</li>
</ul>
<a name="getDependencies()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDependencies</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../../org/apache/cxf/aegis/type/AegisType.html" title="class in org.apache.cxf.aegis.type">AegisType</a>&gt;&nbsp;getDependencies()</pre>
<div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/cxf/aegis/type/AegisType.html#getDependencies()">AegisType</a></code></strong></div>
<div class="block">Return a set of AegisType dependencies. Returns null if this type has no
 dependencies.</div>
<dl>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../../../org/apache/cxf/aegis/type/AegisType.html#getDependencies()">getDependencies</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/cxf/aegis/type/AegisType.html" title="class in org.apache.cxf.aegis.type">AegisType</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Set of <code>AegisType</code> dependencies</dd></dl>
</li>
</ul>
<a name="getSchemaType()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSchemaType</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/javax/xml/namespace/QName.html?is-external=true" title="class or interface in javax.xml.namespace">QName</a>&nbsp;getSchemaType()</pre>
<dl>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../../../org/apache/cxf/aegis/type/AegisType.html#getSchemaType()">getSchemaType</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/cxf/aegis/type/AegisType.html" title="class in org.apache.cxf.aegis.type">AegisType</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Get the schema type.</dd></dl>
</li>
</ul>
<a name="setSchemaType(javax.xml.namespace.QName)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setSchemaType</h4>
<pre>public&nbsp;void&nbsp;setSchemaType(<a href="http://docs.oracle.com/javase/7/docs/api/javax/xml/namespace/QName.html?is-external=true" title="class or interface in javax.xml.namespace">QName</a>&nbsp;name)</pre>
<dl>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../../../org/apache/cxf/aegis/type/AegisType.html#setSchemaType(javax.xml.namespace.QName)">setSchemaType</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/cxf/aegis/type/AegisType.html" title="class in org.apache.cxf.aegis.type">AegisType</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - The qName to set.</dd></dl>
</li>
</ul>
<a name="isWriteOuter()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isWriteOuter</h4>
<pre>public&nbsp;boolean&nbsp;isWriteOuter()</pre>
<div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/cxf/aegis/type/AegisType.html#isWriteOuter()">AegisType</a></code></strong></div>
<div class="block">Defaults to true. False for types that disappear entirely when null,
 even when nillable.</div>
<dl>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../../../org/apache/cxf/aegis/type/AegisType.html#isWriteOuter()">isWriteOuter</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/cxf/aegis/type/AegisType.html" title="class in org.apache.cxf.aegis.type">AegisType</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>whether to write xsi:nil for null values.</dd></dl>
</li>
</ul>
<a name="setWriteOuter(boolean)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>setWriteOuter</h4>
<pre>public&nbsp;void&nbsp;setWriteOuter(boolean&nbsp;writeOuter)</pre>
<dl>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../../../org/apache/cxf/aegis/type/AegisType.html#setWriteOuter(boolean)">setWriteOuter</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/cxf/aegis/type/AegisType.html" title="class in org.apache.cxf.aegis.type">AegisType</a></code></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><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="navBarCell1Rev">Class</li>
<li><a href="class-use/SoapRefType.html">Use</a></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 class="aboutLanguage"><em>Apache CXF API</em></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../org/apache/cxf/aegis/type/encoded/SoapRefRegistry.html" title="class in org.apache.cxf.aegis.type.encoded"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../../../org/apache/cxf/aegis/type/encoded/StructType.html" title="class in org.apache.cxf.aegis.type.encoded"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/cxf/aegis/type/encoded/SoapRefType.html" target="_top">Frames</a></li>
<li><a href="SoapRefType.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>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#fields_inherited_from_class_org.apache.cxf.aegis.type.AegisType">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&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><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Apache CXF</small></p>
</body>
</html>
