org.apache.axis.attachments

Interface Attachments

All Superinterfaces:
java.io.Serializable
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.

Authors:
Rob Jellinghaus (robj@unrealities.com)
Rick Rineholt

Field Summary

static 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(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(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.
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(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(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 Details

CIDprefix

public static final String CIDprefix
The prefix used to assoc. attachments as content-id

SEND_TYPE_DEFAULT

public static final int SEND_TYPE_DEFAULT
The default attatchment type. MIME
Field Value:
2

SEND_TYPE_DIME

public static final int SEND_TYPE_DIME
Use the DIME attatchment type.
Field Value:
3

SEND_TYPE_MAX

public static final int SEND_TYPE_MAX
Field Value:
5

SEND_TYPE_MIME

public static final int SEND_TYPE_MIME
Use the SOAP with MIME attatchment send type.
Field Value:
2

SEND_TYPE_MTOM

public static final int SEND_TYPE_MTOM
Use the MTOM attatchment type.
Field Value:
4

SEND_TYPE_NONE

public static final int SEND_TYPE_NONE
Use the DIME attatchment type.
Field Value:
5

SEND_TYPE_NOTSET

public static final int SEND_TYPE_NOTSET
Use the default attatchment send type.
Field Value:
1

Method Details

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 -

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 -

createAttachmentPart

public Part createAttachmentPart(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 -

dispose

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

getAttachmentByReference

public Part getAttachmentByReference(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 -

getAttachmentCount

public int getAttachmentCount()
This is the number of attachments.
Returns:
the number of attachments

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

getContentLength

public long getContentLength()
            throws AxisFault
Get the content length of the stream.
Returns:
the content length of
Throws:
AxisFault -

getContentType

public String getContentType()
            throws AxisFault
Write the content to the stream.
Returns:
the content type
Throws:
AxisFault -

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.

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.

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

isAttachment

public boolean isAttachment(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.

removeAllAttachments

public void removeAllAttachments()
Removes all AttachmentPart objects that have been added to this SOAPMessage object.

This method does not touch the SOAP part.


removeAttachmentPart

public Part removeAttachmentPart(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 -

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 -

setRootPart

public void setRootPart(Part newRoot)
Sets the root part of this multipart block
Parameters:
newRoot - the new root Part

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.

writeContentToStream

public void writeContentToStream(java.io.OutputStream os)
            throws AxisFault
Write the content to the stream.
Parameters:
os - the stream
Throws:
AxisFault -

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