## org.apache.axis.attachments
Interface Attachments

All Superinterfaces:
  java.io.Serializable

All Known Implementing Classes:
  AttachmentsImpl

public interface Attachments
extends java.io.Serializable

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 (robj@unrealities.com), Rick Rineholt

Field Summary
`static java.lang.String` `CIDprefix` The prefix used to assoc.
`static int` `SEND_TYPE_DEFAULT` The default attatchment type.
`static int` `SEND_TYPE_DIME` Use the DIME attatchment type.
`static int` `SEND_TYPE_MAX`
`static int` `SEND_TYPE_MIME` Use the SOAP with MIME attatchment send type.
`static int` `SEND_TYPE_MTOM` Use the MTOM attatchment type.
`static int` `SEND_TYPE_NONE` Use the DIME attatchment type.
`static int` `SEND_TYPE_NOTSET` Use the default attatchment send type.

Method Summary
`Part` `addAttachmentPart(Part newPart)` Adds an existing attachment to this list.
`Part` `createAttachmentPart()` Create a new attachment Part in this Message.
`Part` `createAttachmentPart(java.lang.Object part)` Create a new attachment Part in this Message.
`void` `dispose()` dispose of the attachments and their files; do not use the object after making this call.
`Part` `getAttachmentByReference(java.lang.String reference)` This method should look at a refernce and determine if it is a CID: or url to look for attachment.
`int` `getAttachmentCount()` This is the number of attachments.
`java.util.Collection` `getAttachments()` This method will return all attachments as a collection.
`java.util.Iterator` `getAttachments(MimeHeaders headers)` Retrieves all the `AttachmentPart` objects that have header entries that match the specified headers.
`long` `getContentLength()` Get the content length of the stream.
`java.lang.String` `getContentType()` Write the content to the stream.
`IncomingAttachmentStreams` `getIncomingAttachmentStreams()` Once this method is called, attachments can only be accessed via the InputStreams.
`Part` `getRootPart()` From the complex stream return the SOAP part.
`int` `getSendType()` Determine if an object is to be treated as an attchment.
`boolean` `isAttachment(java.lang.Object value)` Determine if an object is to be treated as an attchment.
`void` `removeAllAttachments()` Removes all `AttachmentPart` objects that have been added to this `SOAPMessage` object.
`Part` `removeAttachmentPart(java.lang.String reference)` This method uses getAttacmentByReference() to look for attachment.
`void` `setAttachmentParts(java.util.Collection parts)` Will the attachments of this message to that of the colleciton.
`void` `setRootPart(Part newRoot)` Sets the root part of this multipart block
`void` `setSendType(int sendtype)` Set the format for attachments.
`void` `writeContentToStream(java.io.OutputStream os)` Write the content to the stream.

Field Detail

### SEND_TYPE_NOTSET

    public static final int SEND_TYPE_NOTSET

  Use the default attatchment send type.

  See Also:
    Constant Field Values

### SEND_TYPE_MIME

    public static final int SEND_TYPE_MIME

  Use the SOAP with MIME attatchment send type.

  See Also:
    Constant Field Values

### SEND_TYPE_DIME

    public static final int SEND_TYPE_DIME

  Use the DIME attatchment type.

  See Also:
    Constant Field Values

### SEND_TYPE_MTOM

    public static final int SEND_TYPE_MTOM

  Use the MTOM attatchment type.

  See Also:
    Constant Field Values

### SEND_TYPE_NONE

    public static final int SEND_TYPE_NONE

  Use the DIME attatchment type.

  See Also:
    Constant Field Values

### SEND_TYPE_MAX

    public static final int SEND_TYPE_MAX

See Also:
  Constant Field Values

### SEND_TYPE_DEFAULT

    public static final int SEND_TYPE_DEFAULT

  The default attatchment type. MIME

  See Also:
    Constant Field Values

### CIDprefix

    public static final java.lang.String CIDprefix

  The prefix used to assoc. attachments as content-id

  See Also:
    Constant Field Values

Method Detail

### addAttachmentPart

    public Part addAttachmentPart(Part newPart)
                           throws AxisFault

  Adds an existing attachment to this list. Note: Passed part will be bound to this message.

  Parameters:
    `newPart` - new part to add
  Returns:
    Part old attachment with the same Content-ID, or null.
  Throws:
    `AxisFault`

### removeAttachmentPart

    public Part removeAttachmentPart(java.lang.String reference)
                              throws 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.

  Parameters:
    `reference` - The reference that referers to an attachment.
  Returns:
    The part associated with the removed attachment, or null.
  Throws:
    `AxisFault`

### removeAllAttachments

    public void removeAllAttachments()

  Removes all `AttachmentPart` objects that have been added to this `SOAPMessage` object.

  This method does not touch the SOAP part.

### getAttachmentByReference

    public Part getAttachmentByReference(java.lang.String reference)
                                  throws AxisFault

  This method should look at a refernce and determine if it is a CID: or url to look for attachment.

  Parameters:
    `reference` - The reference in the xml that referers to an attachment.
  Returns:
    The part associated with the attachment.
  Throws:
    `AxisFault`

### getAttachments

    public java.util.Collection getAttachments()
                                        throws AxisFault

  This method will return all attachments as a collection.

  Returns:
    A collection of attachments.
  Throws:
    `AxisFault`

### getAttachments

    public java.util.Iterator getAttachments(MimeHeaders headers)

  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.

  Parameters:
    `headers` - a `MimeHeaders` object containing the MIME headers for which to search
  Returns:
    an iterator over all attachments that have a header that matches one of the given headers

### createAttachmentPart

    public Part createAttachmentPart(java.lang.Object part)
                              throws AxisFault

  Create a new attachment Part in this Message. Will actually, and always, return an AttachmentPart.

  Parameters:
    `part` - The part that is referenced
  Returns:
    a new attachment part
  Throws:
    `AxisFault`

### createAttachmentPart

    public Part createAttachmentPart()
                              throws AxisFault

  Create a new attachment Part in this Message. Will actually, and always, return an AttachmentPart.

  Returns:
    a new attachment part
  Throws:
    `AxisFault`

### setAttachmentParts

    public void setAttachmentParts(java.util.Collection parts)
                            throws AxisFault

  Will the attachments of this message to that of the colleciton.

  Parameters:
    `parts` -
  Throws:
    `AxisFault`

### getRootPart

    public Part getRootPart()

  From the complex stream return the SOAP part.

  Returns:
    will return the root part if the stream is supported, otherwise null.

### setRootPart

    public void setRootPart(Part newRoot)

  Sets the root part of this multipart block

  Parameters:
    `newRoot` - the new root `Part`

### getContentLength

    public long getContentLength()
                          throws AxisFault

  Get the content length of the stream.

  Returns:
    the content length of
  Throws:
    `AxisFault`

### writeContentToStream

    public void writeContentToStream(java.io.OutputStream os)
                              throws AxisFault

  Write the content to the stream.

  Parameters:
    `os` - the stream
  Throws:
    `AxisFault`

### getContentType

    public java.lang.String getContentType()
                                    throws AxisFault

  Write the content to the stream.

  Returns:
    the content type
  Throws:
    `AxisFault`

### getAttachmentCount

    public int getAttachmentCount()

  This is the number of attachments.

  Returns:
    the number of attachments

### isAttachment

    public boolean isAttachment(java.lang.Object value)

  Determine if an object is to be treated as an attchment.

  Parameters:
    `value` - the value that is to be determined if its an attachment.
  Returns:
    True if value should be treated as an attchment.

### setSendType

    public void setSendType(int sendtype)

  Set the format for attachments.

  Parameters:
    `sendtype` - the format to send. SEND_TYPE_MIME for Multipart Releated Mail type attachments. SEND_TYPE_DIME for DIME type attachments.

### getSendType

    public int getSendType()

  Determine if an object is to be treated as an attchment.

  Returns:
    SEND_TYPE_MIME, SEND_TYPE_DIME, SEND_TYPE_NOTSET

### dispose

    public void dispose()

  dispose of the attachments and their files; do not use the object after making this call.

### getIncomingAttachmentStreams

    public IncomingAttachmentStreams getIncomingAttachmentStreams()

  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.

  Returns:
    All of the attachment streams.

Copyright © 2005 Apache Web Services Project. All Rights Reserved.