<!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>AttachmentPart (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="AttachmentPart (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="navBarCell1Rev">Class</li>
<li><a href="class-use/AttachmentPart.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>
<div class="subNav">
<ul class="navList">
<li>Prev Class</li>
<li><a href="../../../../org/apache/axis/attachments/Attachments.html" title="interface in org.apache.axis.attachments"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/axis/attachments/AttachmentPart.html" target="_top">Frames</a></li>
<li><a href="AttachmentPart.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="#field_summary">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><a href="#field_detail">Field</a>&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.axis.attachments</div>
<h2 title="Class AttachmentPart" class="title">Class AttachmentPart</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><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">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../javax/xml/soap/AttachmentPart.html" title="class in javax.xml.soap">javax.xml.soap.AttachmentPart</a></li>
<li>
<ul class="inheritance">
<li>org.apache.axis.attachments.AttachmentPart</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="../../../../org/apache/axis/Part.html" title="interface in org.apache.axis">Part</a></dd>
</dl>
<hr>
<br>
<pre>public class <span class="strong">AttachmentPart</span>
extends <a href="../../../../javax/xml/soap/AttachmentPart.html" title="class in javax.xml.soap">AttachmentPart</a>
implements <a href="../../../../org/apache/axis/Part.html" title="interface in org.apache.axis">Part</a></pre>
<div class="block">An attachment part.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../serialized-form.html#org.apache.axis.attachments.AttachmentPart">Serialized Form</a></dd></dl>
</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>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected static org.apache.commons.logging.Log</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis/attachments/AttachmentPart.html#log">log</a></strong></code>
<div class="block">Field log</div>
</td>
</tr>
</table>
</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/axis/attachments/AttachmentPart.html#AttachmentPart()">AttachmentPart</a></strong>()</code>
<div class="block">Bulds a new <code>AttachmentPart</code>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><strong><a href="../../../../org/apache/axis/attachments/AttachmentPart.html#AttachmentPart(javax.activation.DataHandler)">AttachmentPart</a></strong>(<a href="http://download.oracle.com/javaee/1.4/api/javax/activation/DataHandler.html?is-external=true" title="class or interface in javax.activation">DataHandler</a>&nbsp;dh)</code>
<div class="block">Bulds a new <code>AttachmentPart</code> with a <code>DataHandler</code>.</div>
</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>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis/attachments/AttachmentPart.html#addMimeHeader(java.lang.String,%20java.lang.String)">addMimeHeader</a></strong>(<a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;header,
             <a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;value)</code>
<div class="block">Add the specified MIME header, as per JAXM.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis/attachments/AttachmentPart.html#clearContent()">clearContent</a></strong>()</code>
<div class="block">Clears out the content of this <CODE>
 AttachmentPart</CODE> object.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis/attachments/AttachmentPart.html#detachAttachmentFile()">detachAttachmentFile</a></strong>()</code>
<div class="block">Detach the attachment file from this class, so it is not cleaned up.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis/attachments/AttachmentPart.html#dispose()">dispose</a></strong>()</code>
<div class="block">when an attachment part is disposed, any associated files
 are deleted, and the datahandler itself nulled.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis/attachments/AttachmentPart.html#finalize()">finalize</a></strong>()</code>
<div class="block">On death, we clean up our file.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="http://download.oracle.com/javaee/1.4/api/javax/activation/DataHandler.html?is-external=true" title="class or interface in javax.activation">DataHandler</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis/attachments/AttachmentPart.html#getActivationDataHandler()">getActivationDataHandler</a></strong>()</code>
<div class="block">Get the data handler.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis/attachments/AttachmentPart.html#getAllMimeHeaders()">getAllMimeHeaders</a></strong>()</code>
<div class="block">Retrieves all the headers for this <CODE>
 AttachmentPart</CODE> object as an iterator over the <CODE>
 MimeHeader</CODE> objects.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis/attachments/AttachmentPart.html#getAttachmentFile()">getAttachmentFile</a></strong>()</code>
<div class="block">Get the filename of this attachment.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><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">Object</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis/attachments/AttachmentPart.html#getContent()">getContent</a></strong>()</code>
<div class="block">Gets the content of this <CODE>AttachmentPart</CODE> object
   as a Java object.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis/attachments/AttachmentPart.html#getContentId()">getContentId</a></strong>()</code>
<div class="block">Gets the value of the MIME header whose name is
 "Content-Id".</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis/attachments/AttachmentPart.html#getContentIdRef()">getContentIdRef</a></strong>()</code>
<div class="block">Content ID.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis/attachments/AttachmentPart.html#getContentLocation()">getContentLocation</a></strong>()</code>
<div class="block">Gets the value of the MIME header
 "Content-Location".</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis/attachments/AttachmentPart.html#getContentType()">getContentType</a></strong>()</code>
<div class="block">getContentType</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="http://download.oracle.com/javaee/1.4/api/javax/activation/DataHandler.html?is-external=true" title="class or interface in javax.activation">DataHandler</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis/attachments/AttachmentPart.html#getDataHandler()">getDataHandler</a></strong>()</code>
<div class="block">Gets the <CODE>DataHandler</CODE> object for this <CODE>
 AttachmentPart</CODE> object.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis/attachments/AttachmentPart.html#getFirstMimeHeader(java.lang.String)">getFirstMimeHeader</a></strong>(<a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;header)</code>
<div class="block">Get the specified MIME header.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis/attachments/AttachmentPart.html#getMatchingMimeHeaders(java.lang.String[])">getMatchingMimeHeaders</a></strong>(<a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;match)</code>
<div class="block">Retrieves all <CODE>MimeHeader</CODE> objects that match
 a name in the given array.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis/attachments/AttachmentPart.html#getMimeHeader(java.lang.String)">getMimeHeader</a></strong>(<a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
<div class="block">Gets all the values of the header identified by the given
 <CODE>String</CODE>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis/attachments/AttachmentPart.html#getNonMatchingMimeHeaders(java.lang.String[])">getNonMatchingMimeHeaders</a></strong>(<a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;match)</code>
<div class="block">Retrieves all <CODE>MimeHeader</CODE> objects whose name
 does not match a name in the given array.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis/attachments/AttachmentPart.html#getSize()">getSize</a></strong>()</code>
<div class="block">Returns the number of bytes in this <CODE>
 AttachmentPart</CODE> object.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis/attachments/AttachmentPart.html#matches(javax.xml.soap.MimeHeaders)">matches</a></strong>(<a href="../../../../javax/xml/soap/MimeHeaders.html" title="class in javax.xml.soap">MimeHeaders</a>&nbsp;headers)</code>
<div class="block">check if this Part's mimeheaders matches the one passed in.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis/attachments/AttachmentPart.html#removeAllMimeHeaders()">removeAllMimeHeaders</a></strong>()</code>
<div class="block">Removes all the MIME header entries.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis/attachments/AttachmentPart.html#removeMimeHeader(java.lang.String)">removeMimeHeader</a></strong>(<a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;header)</code>
<div class="block">Removes all MIME headers that match the given name.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis/attachments/AttachmentPart.html#setAttachmentFile(java.lang.String)">setAttachmentFile</a></strong>(<a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;path)</code>
<div class="block">Set the filename of this attachment part.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis/attachments/AttachmentPart.html#setContent(java.lang.Object,%20java.lang.String)">setContent</a></strong>(<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">Object</a>&nbsp;object,
          <a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;contentType)</code>
<div class="block">Sets the content of this attachment part to that of the
 given <CODE>Object</CODE> and sets the value of the <CODE>
 Content-Type</CODE> header to the given type.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis/attachments/AttachmentPart.html#setContentId(java.lang.String)">setContentId</a></strong>(<a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;newCid)</code>
<div class="block">Sets the MIME header "Content-Id" with the given
 value.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis/attachments/AttachmentPart.html#setContentLocation(java.lang.String)">setContentLocation</a></strong>(<a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;loc)</code>
<div class="block">Sets the MIME header "Content-Location" with the given
 value.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis/attachments/AttachmentPart.html#setDataHandler(javax.activation.DataHandler)">setDataHandler</a></strong>(<a href="http://download.oracle.com/javaee/1.4/api/javax/activation/DataHandler.html?is-external=true" title="class or interface in javax.activation">DataHandler</a>&nbsp;datahandler)</code>
<div class="block">Sets the given <CODE>DataHandler</CODE> object as the
 data handler for this <CODE>AttachmentPart</CODE> object.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis/attachments/AttachmentPart.html#setMimeHeader(java.lang.String,%20java.lang.String)">setMimeHeader</a></strong>(<a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
             <a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;value)</code>
<div class="block">Changes the first header entry that matches the given name
   to the given value, adding a new header if no existing
   header matches.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_javax.xml.soap.AttachmentPart">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;javax.xml.soap.<a href="../../../../javax/xml/soap/AttachmentPart.html" title="class in javax.xml.soap">AttachmentPart</a></h3>
<code><a href="../../../../javax/xml/soap/AttachmentPart.html#setContentType(java.lang.String)">setContentType</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/1.4.2/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/1.4.2/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/1.4.2/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/1.4.2/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/1.4.2/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/1.4.2/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/1.4.2/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/1.4.2/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/1.4.2/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/1.4.2/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/1.4.2/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">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_detail">
<!--   -->
</a>
<h3>Field Detail</h3>
<a name="log">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>log</h4>
<pre>protected static&nbsp;org.apache.commons.logging.Log log</pre>
<div class="block">Field log</div>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="AttachmentPart()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>AttachmentPart</h4>
<pre>public&nbsp;AttachmentPart()</pre>
<div class="block">Bulds a new <code>AttachmentPart</code>.</div>
</li>
</ul>
<a name="AttachmentPart(javax.activation.DataHandler)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>AttachmentPart</h4>
<pre>public&nbsp;AttachmentPart(<a href="http://download.oracle.com/javaee/1.4/api/javax/activation/DataHandler.html?is-external=true" title="class or interface in javax.activation">DataHandler</a>&nbsp;dh)</pre>
<div class="block">Bulds a new <code>AttachmentPart</code> with a <code>DataHandler</code>.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>dh</code> - the <code>DataHandler</code></dd></dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="finalize()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>finalize</h4>
<pre>protected&nbsp;void&nbsp;finalize()
                 throws <a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a></pre>
<div class="block">On death, we clean up our file.</div>
<dl>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</a></code>&nbsp;in class&nbsp;<code><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">Object</a></code></dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a></code> - if anything went wrong during finalization</dd></dl>
</li>
</ul>
<a name="getActivationDataHandler()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getActivationDataHandler</h4>
<pre>public&nbsp;<a href="http://download.oracle.com/javaee/1.4/api/javax/activation/DataHandler.html?is-external=true" title="class or interface in javax.activation">DataHandler</a>&nbsp;getActivationDataHandler()</pre>
<div class="block">Get the data handler.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>the activation <code>DataHandler</code></dd></dl>
</li>
</ul>
<a name="getContentType()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getContentType</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getContentType()</pre>
<div class="block">getContentType</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/axis/Part.html#getContentType()">getContentType</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/axis/Part.html" title="interface in org.apache.axis">Part</a></code></dd>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../javax/xml/soap/AttachmentPart.html#getContentType()">getContentType</a></code>&nbsp;in class&nbsp;<code><a href="../../../../javax/xml/soap/AttachmentPart.html" title="class in javax.xml.soap">AttachmentPart</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>content type</dd></dl>
</li>
</ul>
<a name="addMimeHeader(java.lang.String, java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addMimeHeader</h4>
<pre>public&nbsp;void&nbsp;addMimeHeader(<a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;header,
                 <a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;value)</pre>
<div class="block">Add the specified MIME header, as per JAXM.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/axis/Part.html#addMimeHeader(java.lang.String,%20java.lang.String)">addMimeHeader</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/axis/Part.html" title="interface in org.apache.axis">Part</a></code></dd>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../javax/xml/soap/AttachmentPart.html#addMimeHeader(java.lang.String,%20java.lang.String)">addMimeHeader</a></code>&nbsp;in class&nbsp;<code><a href="../../../../javax/xml/soap/AttachmentPart.html" title="class in javax.xml.soap">AttachmentPart</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>header</code> - </dd><dd><code>value</code> - </dd></dl>
</li>
</ul>
<a name="getFirstMimeHeader(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFirstMimeHeader</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getFirstMimeHeader(<a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;header)</pre>
<div class="block">Get the specified MIME header.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>header</code> - </dd>
<dt><span class="strong">Returns:</span></dt><dd></dd></dl>
</li>
</ul>
<a name="matches(javax.xml.soap.MimeHeaders)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>matches</h4>
<pre>public&nbsp;boolean&nbsp;matches(<a href="../../../../javax/xml/soap/MimeHeaders.html" title="class in javax.xml.soap">MimeHeaders</a>&nbsp;headers)</pre>
<div class="block">check if this Part's mimeheaders matches the one passed in.
 TODO: Am not sure about the logic.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>headers</code> - the <code>MimeHeaders</code> to check</dd>
<dt><span class="strong">Returns:</span></dt><dd>true if all header name, values in <code>headers</code> are
              found, false otherwise</dd></dl>
</li>
</ul>
<a name="getContentLocation()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getContentLocation</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getContentLocation()</pre>
<div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../javax/xml/soap/AttachmentPart.html#getContentLocation()">AttachmentPart</a></code></strong></div>
<div class="block">Gets the value of the MIME header
 "Content-Location".</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/axis/Part.html#getContentLocation()">getContentLocation</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/axis/Part.html" title="interface in org.apache.axis">Part</a></code></dd>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../javax/xml/soap/AttachmentPart.html#getContentLocation()">getContentLocation</a></code>&nbsp;in class&nbsp;<code><a href="../../../../javax/xml/soap/AttachmentPart.html" title="class in javax.xml.soap">AttachmentPart</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>a <CODE>String</CODE> giving the value of the
     "Content-Location" header or <CODE>null</CODE> if there
     is none</dd></dl>
</li>
</ul>
<a name="setContentLocation(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setContentLocation</h4>
<pre>public&nbsp;void&nbsp;setContentLocation(<a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;loc)</pre>
<div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../javax/xml/soap/AttachmentPart.html#setContentLocation(java.lang.String)">AttachmentPart</a></code></strong></div>
<div class="block">Sets the MIME header "Content-Location" with the given
 value.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/axis/Part.html#setContentLocation(java.lang.String)">setContentLocation</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/axis/Part.html" title="interface in org.apache.axis">Part</a></code></dd>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../javax/xml/soap/AttachmentPart.html#setContentLocation(java.lang.String)">setContentLocation</a></code>&nbsp;in class&nbsp;<code><a href="../../../../javax/xml/soap/AttachmentPart.html" title="class in javax.xml.soap">AttachmentPart</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>loc</code> - a <CODE>String</CODE>
     giving the value of the "Content-Location" header</dd></dl>
</li>
</ul>
<a name="setContentId(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setContentId</h4>
<pre>public&nbsp;void&nbsp;setContentId(<a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;newCid)</pre>
<div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../javax/xml/soap/AttachmentPart.html#setContentId(java.lang.String)">AttachmentPart</a></code></strong></div>
<div class="block">Sets the MIME header "Content-Id" with the given
 value.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/axis/Part.html#setContentId(java.lang.String)">setContentId</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/axis/Part.html" title="interface in org.apache.axis">Part</a></code></dd>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../javax/xml/soap/AttachmentPart.html#setContentId(java.lang.String)">setContentId</a></code>&nbsp;in class&nbsp;<code><a href="../../../../javax/xml/soap/AttachmentPart.html" title="class in javax.xml.soap">AttachmentPart</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>newCid</code> - a <CODE>String</CODE> giving
     the value of the "Content-Id" header</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../javax/xml/soap/AttachmentPart.html#getContentId()"><code>getContentId()</code></a></dd></dl>
</li>
</ul>
<a name="getContentId()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getContentId</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getContentId()</pre>
<div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../javax/xml/soap/AttachmentPart.html#getContentId()">AttachmentPart</a></code></strong></div>
<div class="block">Gets the value of the MIME header whose name is
 "Content-Id".</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/axis/Part.html#getContentId()">getContentId</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/axis/Part.html" title="interface in org.apache.axis">Part</a></code></dd>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../javax/xml/soap/AttachmentPart.html#getContentId()">getContentId</a></code>&nbsp;in class&nbsp;<code><a href="../../../../javax/xml/soap/AttachmentPart.html" title="class in javax.xml.soap">AttachmentPart</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>a <CODE>String</CODE> giving the value of the
     "Content-Id" header or <CODE>null</CODE> if there is
     none</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../javax/xml/soap/AttachmentPart.html#setContentId(java.lang.String)"><code>setContentId(java.lang.String)</code></a></dd></dl>
</li>
</ul>
<a name="getMatchingMimeHeaders(java.lang.String[])">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMatchingMimeHeaders</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&nbsp;getMatchingMimeHeaders(<a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;match)</pre>
<div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../javax/xml/soap/AttachmentPart.html#getMatchingMimeHeaders(java.lang.String[])">AttachmentPart</a></code></strong></div>
<div class="block">Retrieves all <CODE>MimeHeader</CODE> objects that match
 a name in the given array.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/axis/Part.html#getMatchingMimeHeaders(java.lang.String[])">getMatchingMimeHeaders</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/axis/Part.html" title="interface in org.apache.axis">Part</a></code></dd>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../javax/xml/soap/AttachmentPart.html#getMatchingMimeHeaders(java.lang.String[])">getMatchingMimeHeaders</a></code>&nbsp;in class&nbsp;<code><a href="../../../../javax/xml/soap/AttachmentPart.html" title="class in javax.xml.soap">AttachmentPart</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>match</code> - a <CODE>String</CODE> array with
     the name(s) of the MIME headers to be returned</dd>
<dt><span class="strong">Returns:</span></dt><dd>all of the MIME headers that match one of the names
     in the given array as an <CODE>Iterator</CODE>
     object</dd></dl>
</li>
</ul>
<a name="getNonMatchingMimeHeaders(java.lang.String[])">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNonMatchingMimeHeaders</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&nbsp;getNonMatchingMimeHeaders(<a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;match)</pre>
<div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../javax/xml/soap/AttachmentPart.html#getNonMatchingMimeHeaders(java.lang.String[])">AttachmentPart</a></code></strong></div>
<div class="block">Retrieves all <CODE>MimeHeader</CODE> objects whose name
 does not match a name in the given array.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/axis/Part.html#getNonMatchingMimeHeaders(java.lang.String[])">getNonMatchingMimeHeaders</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/axis/Part.html" title="interface in org.apache.axis">Part</a></code></dd>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../javax/xml/soap/AttachmentPart.html#getNonMatchingMimeHeaders(java.lang.String[])">getNonMatchingMimeHeaders</a></code>&nbsp;in class&nbsp;<code><a href="../../../../javax/xml/soap/AttachmentPart.html" title="class in javax.xml.soap">AttachmentPart</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>match</code> - a <CODE>String</CODE> array with
     the name(s) of the MIME headers not to be returned</dd>
<dt><span class="strong">Returns:</span></dt><dd>all of the MIME headers in this <CODE>
     AttachmentPart</CODE> object except those that match one
     of the names in the given array. The nonmatching MIME
     headers are returned as an <CODE>Iterator</CODE>
     object.</dd></dl>
</li>
</ul>
<a name="getAllMimeHeaders()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAllMimeHeaders</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&nbsp;getAllMimeHeaders()</pre>
<div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../javax/xml/soap/AttachmentPart.html#getAllMimeHeaders()">AttachmentPart</a></code></strong></div>
<div class="block">Retrieves all the headers for this <CODE>
 AttachmentPart</CODE> object as an iterator over the <CODE>
 MimeHeader</CODE> objects.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../javax/xml/soap/AttachmentPart.html#getAllMimeHeaders()">getAllMimeHeaders</a></code>&nbsp;in class&nbsp;<code><a href="../../../../javax/xml/soap/AttachmentPart.html" title="class in javax.xml.soap">AttachmentPart</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>an <CODE>Iterator</CODE> object with all of the Mime
     headers for this <CODE>AttachmentPart</CODE> object</dd></dl>
</li>
</ul>
<a name="setMimeHeader(java.lang.String, java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setMimeHeader</h4>
<pre>public&nbsp;void&nbsp;setMimeHeader(<a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
                 <a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;value)</pre>
<div class="block">Changes the first header entry that matches the given name
   to the given value, adding a new header if no existing
   header matches. This method also removes all matching
   headers but the first.

   <P>Note that RFC822 headers can only contain US-ASCII
   characters.</P></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../javax/xml/soap/AttachmentPart.html#setMimeHeader(java.lang.String,%20java.lang.String)">setMimeHeader</a></code>&nbsp;in class&nbsp;<code><a href="../../../../javax/xml/soap/AttachmentPart.html" title="class in javax.xml.soap">AttachmentPart</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - a <CODE>String</CODE> giving the
     name of the header for which to search</dd><dd><code>value</code> - a <CODE>String</CODE> giving the
     value to be set for the header whose name matches the
     given name</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if
     there was a problem with the specified mime header name
     or value</dd></dl>
</li>
</ul>
<a name="removeAllMimeHeaders()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeAllMimeHeaders</h4>
<pre>public&nbsp;void&nbsp;removeAllMimeHeaders()</pre>
<div class="block">Removes all the MIME header entries.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../javax/xml/soap/AttachmentPart.html#removeAllMimeHeaders()">removeAllMimeHeaders</a></code>&nbsp;in class&nbsp;<code><a href="../../../../javax/xml/soap/AttachmentPart.html" title="class in javax.xml.soap">AttachmentPart</a></code></dd>
</dl>
</li>
</ul>
<a name="removeMimeHeader(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeMimeHeader</h4>
<pre>public&nbsp;void&nbsp;removeMimeHeader(<a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;header)</pre>
<div class="block">Removes all MIME headers that match the given name.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../javax/xml/soap/AttachmentPart.html#removeMimeHeader(java.lang.String)">removeMimeHeader</a></code>&nbsp;in class&nbsp;<code><a href="../../../../javax/xml/soap/AttachmentPart.html" title="class in javax.xml.soap">AttachmentPart</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>header</code> - - the string name of the MIME
     header/s to be removed</dd></dl>
</li>
</ul>
<a name="getDataHandler()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDataHandler</h4>
<pre>public&nbsp;<a href="http://download.oracle.com/javaee/1.4/api/javax/activation/DataHandler.html?is-external=true" title="class or interface in javax.activation">DataHandler</a>&nbsp;getDataHandler()
                           throws <a href="../../../../javax/xml/soap/SOAPException.html" title="class in javax.xml.soap">SOAPException</a></pre>
<div class="block">Gets the <CODE>DataHandler</CODE> object for this <CODE>
 AttachmentPart</CODE> object.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../javax/xml/soap/AttachmentPart.html#getDataHandler()">getDataHandler</a></code>&nbsp;in class&nbsp;<code><a href="../../../../javax/xml/soap/AttachmentPart.html" title="class in javax.xml.soap">AttachmentPart</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>the <CODE>DataHandler</CODE> object associated with
     this <CODE>AttachmentPart</CODE> object</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../javax/xml/soap/SOAPException.html" title="class in javax.xml.soap">SOAPException</a></code> - if there is
     no data in this <CODE>AttachmentPart</CODE> object</dd></dl>
</li>
</ul>
<a name="setDataHandler(javax.activation.DataHandler)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDataHandler</h4>
<pre>public&nbsp;void&nbsp;setDataHandler(<a href="http://download.oracle.com/javaee/1.4/api/javax/activation/DataHandler.html?is-external=true" title="class or interface in javax.activation">DataHandler</a>&nbsp;datahandler)</pre>
<div class="block">Sets the given <CODE>DataHandler</CODE> object as the
 data handler for this <CODE>AttachmentPart</CODE> object.
 Typically, on an incoming message, the data handler is
 automatically set. When a message is being created and
 populated with content, the <CODE>setDataHandler</CODE>
 method can be used to get data from various data sources into
 the message.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../javax/xml/soap/AttachmentPart.html#setDataHandler(javax.activation.DataHandler)">setDataHandler</a></code>&nbsp;in class&nbsp;<code><a href="../../../../javax/xml/soap/AttachmentPart.html" title="class in javax.xml.soap">AttachmentPart</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>datahandler</code> - <CODE>DataHandler</CODE> object to
     be set</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if
     there was a problem with the specified <CODE>
     DataHandler</CODE> object</dd></dl>
</li>
</ul>
<a name="getContent()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getContent</h4>
<pre>public&nbsp;<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">Object</a>&nbsp;getContent()
                  throws <a href="../../../../javax/xml/soap/SOAPException.html" title="class in javax.xml.soap">SOAPException</a></pre>
<div class="block">Gets the content of this <CODE>AttachmentPart</CODE> object
   as a Java object. The type of the returned Java object
   depends on (1) the <CODE>DataContentHandler</CODE> object
   that is used to interpret the bytes and (2) the <CODE>
   Content-Type</CODE> given in the header.

   <P>For the MIME content types "text/plain", "text/html" and
   "text/xml", the <CODE>DataContentHandler</CODE> object does
   the conversions to and from the Java types corresponding to
   the MIME types. For other MIME types,the <CODE>
   DataContentHandler</CODE> object can return an <CODE>
   InputStream</CODE> object that contains the content data as
   raw bytes.</P>

   <P>A JAXM-compliant implementation must, as a minimum,
   return a <CODE>java.lang.String</CODE> object corresponding
   to any content stream with a <CODE>Content-Type</CODE>
   value of <CODE>text/plain</CODE> and a <CODE>
   javax.xml.transform.StreamSource</CODE> object
   corresponding to a content stream with a <CODE>
   Content-Type</CODE> value of <CODE>text/xml</CODE>. For
   those content types that an installed <CODE>
   DataContentHandler</CODE> object does not understand, the
   <CODE>DataContentHandler</CODE> object is required to
   return a <CODE>java.io.InputStream</CODE> object with the
   raw bytes.</P></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../javax/xml/soap/AttachmentPart.html#getContent()">getContent</a></code>&nbsp;in class&nbsp;<code><a href="../../../../javax/xml/soap/AttachmentPart.html" title="class in javax.xml.soap">AttachmentPart</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>a Java object with the content of this <CODE>
     AttachmentPart</CODE> object</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../javax/xml/soap/SOAPException.html" title="class in javax.xml.soap">SOAPException</a></code> - if there is no content set
     into this <CODE>AttachmentPart</CODE> object or if there
     was a data transformation error</dd></dl>
</li>
</ul>
<a name="setContent(java.lang.Object, java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setContent</h4>
<pre>public&nbsp;void&nbsp;setContent(<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">Object</a>&nbsp;object,
              <a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;contentType)</pre>
<div class="block">Sets the content of this attachment part to that of the
 given <CODE>Object</CODE> and sets the value of the <CODE>
 Content-Type</CODE> header to the given type. The type of the
 <CODE>Object</CODE> should correspond to the value given for
 the <CODE>Content-Type</CODE>. This depends on the particular
 set of <CODE>DataContentHandler</CODE> objects in use.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../javax/xml/soap/AttachmentPart.html#setContent(java.lang.Object,%20java.lang.String)">setContent</a></code>&nbsp;in class&nbsp;<code><a href="../../../../javax/xml/soap/AttachmentPart.html" title="class in javax.xml.soap">AttachmentPart</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>object</code> - the Java object that makes up
     the content for this attachment part</dd><dd><code>contentType</code> - the MIME string that
     specifies the type of the content</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if
     the contentType does not match the type of the content
     object, or if there was no <CODE>
     DataContentHandler</CODE> object for this content
     object</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/axis/attachments/AttachmentPart.html#getContent()"><code>getContent()</code></a></dd></dl>
</li>
</ul>
<a name="clearContent()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>clearContent</h4>
<pre>public&nbsp;void&nbsp;clearContent()</pre>
<div class="block">Clears out the content of this <CODE>
 AttachmentPart</CODE> object. The MIME header portion is left
 untouched.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../javax/xml/soap/AttachmentPart.html#clearContent()">clearContent</a></code>&nbsp;in class&nbsp;<code><a href="../../../../javax/xml/soap/AttachmentPart.html" title="class in javax.xml.soap">AttachmentPart</a></code></dd>
</dl>
</li>
</ul>
<a name="getSize()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSize</h4>
<pre>public&nbsp;int&nbsp;getSize()
            throws <a href="../../../../javax/xml/soap/SOAPException.html" title="class in javax.xml.soap">SOAPException</a></pre>
<div class="block">Returns the number of bytes in this <CODE>
 AttachmentPart</CODE> object.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../javax/xml/soap/AttachmentPart.html#getSize()">getSize</a></code>&nbsp;in class&nbsp;<code><a href="../../../../javax/xml/soap/AttachmentPart.html" title="class in javax.xml.soap">AttachmentPart</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>the size of this <CODE>AttachmentPart</CODE> object
     in bytes or -1 if the size cannot be determined</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../javax/xml/soap/SOAPException.html" title="class in javax.xml.soap">SOAPException</a></code> - if the content of this
     attachment is corrupted of if there was an exception
     while trying to determine the size.</dd></dl>
</li>
</ul>
<a name="getMimeHeader(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMimeHeader</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;getMimeHeader(<a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
<div class="block">Gets all the values of the header identified by the given
 <CODE>String</CODE>.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/axis/Part.html#getMimeHeader(java.lang.String)">getMimeHeader</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/axis/Part.html" title="interface in org.apache.axis">Part</a></code></dd>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../javax/xml/soap/AttachmentPart.html#getMimeHeader(java.lang.String)">getMimeHeader</a></code>&nbsp;in class&nbsp;<code><a href="../../../../javax/xml/soap/AttachmentPart.html" title="class in javax.xml.soap">AttachmentPart</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - the name of the header; example:
     "Content-Type"</dd>
<dt><span class="strong">Returns:</span></dt><dd>a <CODE>String</CODE> array giving the value for the
     specified header</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/axis/attachments/AttachmentPart.html#setMimeHeader(java.lang.String,%20java.lang.String)"><code>setMimeHeader(java.lang.String, java.lang.String)</code></a></dd></dl>
</li>
</ul>
<a name="getContentIdRef()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getContentIdRef</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getContentIdRef()</pre>
<div class="block">Content ID.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/axis/Part.html#getContentIdRef()">getContentIdRef</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/axis/Part.html" title="interface in org.apache.axis">Part</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>the contentId reference value that should be used directly
 as an href in a SOAP element to reference this attachment.
 <B>Not part of JAX-RPC, JAX-M, SAAJ, etc. </B></dd></dl>
</li>
</ul>
<a name="setAttachmentFile(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setAttachmentFile</h4>
<pre>protected&nbsp;void&nbsp;setAttachmentFile(<a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;path)</pre>
<div class="block">Set the filename of this attachment part.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>path</code> - the new file path</dd></dl>
</li>
</ul>
<a name="detachAttachmentFile()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>detachAttachmentFile</h4>
<pre>public&nbsp;void&nbsp;detachAttachmentFile()</pre>
<div class="block">Detach the attachment file from this class, so it is not cleaned up.
 This has the side-effect of making subsequent calls to
 getAttachmentFile() return <code>null</code>.</div>
</li>
</ul>
<a name="getAttachmentFile()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAttachmentFile</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getAttachmentFile()</pre>
<div class="block">Get the filename of this attachment.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>the filename or null for an uncached file</dd></dl>
</li>
</ul>
<a name="dispose()">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>dispose</h4>
<pre>public&nbsp;void&nbsp;dispose()</pre>
<div class="block">when an attachment part is disposed, any associated files
 are deleted, and the datahandler itself nulled. The object
 is no longer completely usable, at this point</div>
</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/AttachmentPart.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>
<div class="subNav">
<ul class="navList">
<li>Prev Class</li>
<li><a href="../../../../org/apache/axis/attachments/Attachments.html" title="interface in org.apache.axis.attachments"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/axis/attachments/AttachmentPart.html" target="_top">Frames</a></li>
<li><a href="AttachmentPart.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="#field_summary">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><a href="#field_detail">Field</a>&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>Copyright © <a href="http://www.apache.org/">The Apache Software Foundation</a>. All Rights Reserved.</small></p>
</body>
</html>