All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.apache.axis.attachments.Attachments Maven / Gradle / Ivy

There is a newer version: 7.4.3.112-ga112
Show newest version
/*
 * 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 org.apache.axis.attachments;

import org.apache.axis.Part;

/**
 * Access the Attachments of a Message.  This interface essentially
 * firewalls the rest of Axis from any dependencies on javax.activation.
 * 

* If javax.activation is not available, this is the *only* class that * will be compiled in org.apache.axis.attachments. * * @author Rob Jellinghaus ([email protected]) * @author Rick Rineholt */ public interface Attachments extends java.io.Serializable { /** * Adds an existing attachment to this list. * Note: Passed part will be bound to this message. * @param newPart new part to add * @return Part old attachment with the same Content-ID, or null. * @throws org.apache.axis.AxisFault */ public Part addAttachmentPart(Part newPart) throws org.apache.axis.AxisFault; /** * This method uses getAttacmentByReference() to look for attachment. * If attachment has been found, it will be removed from the list, and * returned to the user. * * @param reference The reference that referers to an attachment. * @return The part associated with the removed attachment, or null. * * @throws org.apache.axis.AxisFault */ public Part removeAttachmentPart(String reference) throws org.apache.axis.AxisFault; /** * Removes all AttachmentPart objects that have * been added to this SOAPMessage object. * *

This method does not touch the SOAP part.

*/ public void removeAllAttachments(); /** * This method should look at a refernce and determine if it is a CID: or url * to look for attachment. * * @param reference The reference in the xml that referers to an attachment. * @return The part associated with the attachment. * * @throws org.apache.axis.AxisFault */ public Part getAttachmentByReference(String reference) throws org.apache.axis.AxisFault; /** * This method will return all attachments as a collection. * * @return A collection of attachments. * * @throws org.apache.axis.AxisFault */ public java.util.Collection getAttachments() throws org.apache.axis.AxisFault; /** * Retrieves all the AttachmentPart objects * that have header entries that match the specified headers. * Note that a returned attachment could have headers in * addition to those specified. * @param headers a MimeHeaders * object containing the MIME headers for which to * search * @return an iterator over all attachments that have a header * that matches one of the given headers */ public java.util.Iterator getAttachments( javax.xml.soap.MimeHeaders headers); /** * Create a new attachment Part in this Message. * Will actually, and always, return an AttachmentPart. * * @param part The part that is referenced * * @return a new attachment part * * @throws org.apache.axis.AxisFault */ public Part createAttachmentPart(Object part) throws org.apache.axis.AxisFault; /** * Create a new attachment Part in this Message. * Will actually, and always, return an AttachmentPart. * * @return a new attachment part * * @throws org.apache.axis.AxisFault */ public Part createAttachmentPart() throws org.apache.axis.AxisFault; /** * Will the attachments of this message to that of the colleciton. * * @param parts * * @throws org.apache.axis.AxisFault */ public void setAttachmentParts(java.util.Collection parts) throws org.apache.axis.AxisFault; /** * From the complex stream return the SOAP part. * @return will return the root part if the stream is supported, * otherwise null. */ public Part getRootPart(); /** * Sets the root part of this multipart block * * @param newRoot the new root Part */ public void setRootPart(Part newRoot); /** * Get the content length of the stream. * * @return the content length of * * @throws org.apache.axis.AxisFault */ public long getContentLength() throws org.apache.axis.AxisFault; /** * Write the content to the stream. * * @param os the stream * * @throws org.apache.axis.AxisFault */ public void writeContentToStream(java.io.OutputStream os) throws org.apache.axis.AxisFault; /** * Write the content to the stream. * * @return the content type * * @throws org.apache.axis.AxisFault */ public String getContentType() throws org.apache.axis.AxisFault; /** * This is the number of attachments. * * @return the number of attachments */ public int getAttachmentCount(); /** * Determine if an object is to be treated as an attchment. * * @param value the value that is to be determined if * its an attachment. * * @return True if value should be treated as an attchment. */ public boolean isAttachment(Object value); /** Use the default attatchment send type. */ public final int SEND_TYPE_NOTSET = 1; /** Use the SOAP with MIME attatchment send type. */ public final int SEND_TYPE_MIME = 2; //use mime /** Use the DIME attatchment type. */ public final int SEND_TYPE_DIME= 3; //use dime; /** Use the MTOM attatchment type. */ public final int SEND_TYPE_MTOM= 4; //use MTOM; /** Use the DIME attatchment type. */ public final int SEND_TYPE_NONE= 5; //don't send as attachments final int SEND_TYPE_MAX = 5; /** The default attatchment type. MIME */ final int SEND_TYPE_DEFAULT = SEND_TYPE_MIME; /** The prefix used to assoc. attachments as content-id */ public final String CIDprefix= "cid:"; /** * Set the format for attachments. * * @param sendtype the format to send. * SEND_TYPE_MIME for Multipart Releated Mail type attachments. * SEND_TYPE_DIME for DIME type attachments. */ public void setSendType( int sendtype); /** * Determine if an object is to be treated as an attchment. * * * @return SEND_TYPE_MIME, SEND_TYPE_DIME, SEND_TYPE_NOTSET */ public int getSendType(); /** * dispose of the attachments and their files; do not use the object * after making this call. */ public void dispose(); /** * Once this method is called, attachments can only be accessed via the InputStreams. * Any other access to the attachments collection (e.g. via getAttachments()) is * prohibited and will cause a ConcurrentModificationException to be thrown. * @return All of the attachment streams. */ public IncomingAttachmentStreams getIncomingAttachmentStreams(); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy