⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 attachmentpart.java

📁 Java有关XML编程需要用到axis 的源代码 把里面bin下的包导入相应的Java工程 进行使用
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
/* * Copyright 2001-2004 The Apache Software Foundation. *  * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at *  *      http://www.apache.org/licenses/LICENSE-2.0 *  * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */package javax.xml.soap;import javax.activation.DataHandler;import java.util.Iterator;/** * <P>A single attachment to a <CODE>SOAPMessage</CODE> object. A *   <CODE>SOAPMessage</CODE> object may contain zero, one, or many *   <CODE>AttachmentPart</CODE> objects. Each <CODE> *   AttachmentPart</CODE> object consists of two parts, *   application-specific content and associated MIME headers. The *   MIME headers consists of name/value pairs that can be used to *   identify and describe the content.</P> * *   <P>An <CODE>AttachmentPart</CODE> object must conform to *   certain standards.</P> * *   <OL> *     <LI>It must conform to <A href= *     "http://www.ietf.org/rfc/rfc2045.txt">MIME [RFC2045] *     standards</A></LI> * *     <LI>It MUST contain content</LI> * *     <LI> *       The header portion MUST include the following header: * *       <UL> *         <LI> *           <CODE>Content-Type</CODE><BR> *            This header identifies the type of data in the content *           of an <CODE>AttachmentPart</CODE> object and MUST *           conform to [RFC2045]. The following is an example of a *           Content-Type header: * <PRE> *      Content-Type:  application/xml * * </PRE> *           The following line of code, in which <CODE>ap</CODE> is *           an <CODE>AttachmentPart</CODE> object, sets the header *           shown in the previous example. * <PRE> *      ap.setMimeHeader("Content-Type", "application/xml"); * * </PRE> * *           <P></P> *         </LI> *       </UL> *     </LI> *   </OL> * *   <P>There are no restrictions on the content portion of an *   <CODE>AttachmentPart</CODE> object. The content may be anything *   from a simple plain text object to a complex XML document or *   image file.</P> * *   <P>An <CODE>AttachmentPart</CODE> object is created with the *   method <CODE>SOAPMessage.createAttachmentPart</CODE>. After *   setting its MIME headers, the <CODE>AttachmentPart</CODE> *   object is added to the message that created it with the method *   <CODE>SOAPMessage.addAttachmentPart</CODE>.</P> * *   <P>The following code fragment, in which <CODE>m</CODE> is a *   <CODE>SOAPMessage</CODE> object and <CODE>contentStringl</CODE> *   is a <CODE>String</CODE>, creates an instance of <CODE> *   AttachmentPart</CODE>, sets the <CODE>AttachmentPart</CODE> *   object with some content and header information, and adds the *   <CODE>AttachmentPart</CODE> object to the <CODE> *   SOAPMessage</CODE> object.</P> * <PRE> *    AttachmentPart ap1 = m.createAttachmentPart(); *    ap1.setContent(contentString1, "text/plain"); *    m.addAttachmentPart(ap1); * </PRE> * *   <P>The following code fragment creates and adds a second <CODE> *   AttachmentPart</CODE> instance to the same message. <CODE> *   jpegData</CODE> is a binary byte buffer representing the jpeg *   file.</P> * <PRE> *    AttachmentPart ap2 = m.createAttachmentPart(); *    byte[] jpegData =  ...; *    ap2.setContent(new ByteArrayInputStream(jpegData), "image/jpeg"); *    m.addAttachmentPart(ap2); * </PRE> * *   <P>The <CODE>getContent</CODE> method retrieves the contents *   and header from an <CODE>AttachmentPart</CODE> object. *   Depending on the <CODE>DataContentHandler</CODE> objects *   present, the returned <CODE>Object</CODE> can either be a typed *   Java object corresponding to the MIME type or an <CODE> *   InputStream</CODE> object that contains the content as *   bytes.</P> * <PRE> *    String content1 = ap1.getContent(); *    java.io.InputStream content2 = ap2.getContent(); * </PRE> *   The method <CODE>clearContent</CODE> removes all the content *   from an <CODE>AttachmentPart</CODE> object but does not affect *   its header information. * <PRE> *    ap1.clearContent(); * </PRE> */public abstract class AttachmentPart {    // fixme: should this constructor be protected?    /** Create a new AttachmentPart. */    public AttachmentPart() {}    /**     * Returns the number of bytes in this <CODE>     * AttachmentPart</CODE> object.     * @return the size of this <CODE>AttachmentPart</CODE> object     *     in bytes or -1 if the size cannot be determined     * @throws  SOAPException  if the content of this     *     attachment is corrupted of if there was an exception     *     while trying to determine the size.     */    public abstract int getSize() throws SOAPException;    /**     * Clears out the content of this <CODE>     * AttachmentPart</CODE> object. The MIME header portion is left     * untouched.     */    public abstract void clearContent();    /**     * 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>     * 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>, 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>, a <code>java.awt.Image</code> object     * corresponding to a content stream with a     * <code>Content-Type</code> value of <code>image/gif</code> or     * <code>image/jpeg</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.     *     * @return a Java object with the content of this <CODE>     *     AttachmentPart</CODE> object     * @throws  SOAPException  if there is no content set     *     into this <CODE>AttachmentPart</CODE> object or if there     *     was a data transformation error     */    public abstract Object getContent() throws SOAPException;    /**     * 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.     * @param  object  the Java object that makes up     * the content for this attachment part     * @param  contentType the MIME string that     * specifies the type of the content     * @throws java.lang.IllegalArgumentException 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     * @see #getContent() getContent()     */    public abstract void setContent(Object object, String contentType);    /**     * Gets the <CODE>DataHandler</CODE> object for this <CODE>     * AttachmentPart</CODE> object.     * @return the <CODE>DataHandler</CODE> object associated with     *     this <CODE>AttachmentPart</CODE> object

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -