org.apache.axis.attachments

Interface Attachments

public interface Attachments extends 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
StringCIDprefix
The prefix used to assoc. attachments as content-id
intSEND_TYPE_DEFAULT
The default attatchment type.
intSEND_TYPE_DIME
Use the DIME attatchment type.
intSEND_TYPE_MAX
intSEND_TYPE_MIME
Use the SOAP with MIME attatchment send type.
intSEND_TYPE_MTOM
Use the MTOM attatchment type.
intSEND_TYPE_NONE
Use the DIME attatchment type.
intSEND_TYPE_NOTSET
Use the default attatchment send type.
Method Summary
PartaddAttachmentPart(Part newPart)
Adds an existing attachment to this list.
PartcreateAttachmentPart(Object part)
Create a new attachment Part in this Message.
PartcreateAttachmentPart()
Create a new attachment Part in this Message.
voiddispose()
dispose of the attachments and their files; do not use the object after making this call.
PartgetAttachmentByReference(String reference)
This method should look at a refernce and determine if it is a CID: or url to look for attachment.
intgetAttachmentCount()
This is the number of attachments.
CollectiongetAttachments()
This method will return all attachments as a collection.
IteratorgetAttachments(MimeHeaders headers)
Retrieves all the AttachmentPart objects that have header entries that match the specified headers.
longgetContentLength()
Get the content length of the stream.
StringgetContentType()
Write the content to the stream.
IncomingAttachmentStreamsgetIncomingAttachmentStreams()
Once this method is called, attachments can only be accessed via the InputStreams.
PartgetRootPart()
From the complex stream return the SOAP part.
intgetSendType()
Determine if an object is to be treated as an attchment.
booleanisAttachment(Object value)
Determine if an object is to be treated as an attchment.
voidremoveAllAttachments()
Removes all AttachmentPart objects that have been added to this SOAPMessage object.
PartremoveAttachmentPart(String reference)
This method uses getAttacmentByReference() to look for attachment.
voidsetAttachmentParts(Collection parts)
Will the attachments of this message to that of the colleciton.
voidsetRootPart(Part newRoot)
Sets the root part of this multipart block
voidsetSendType(int sendtype)
Set the format for attachments.
voidwriteContentToStream(OutputStream os)
Write the content to the stream.

Field Detail

CIDprefix

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

SEND_TYPE_DEFAULT

public final int SEND_TYPE_DEFAULT
The default attatchment type. MIME

SEND_TYPE_DIME

public final int SEND_TYPE_DIME
Use the DIME attatchment type.

SEND_TYPE_MAX

public final int SEND_TYPE_MAX

SEND_TYPE_MIME

public final int SEND_TYPE_MIME
Use the SOAP with MIME attatchment send type.

SEND_TYPE_MTOM

public final int SEND_TYPE_MTOM
Use the MTOM attatchment type.

SEND_TYPE_NONE

public final int SEND_TYPE_NONE
Use the DIME attatchment type.

SEND_TYPE_NOTSET

public final int SEND_TYPE_NOTSET
Use the default attatchment send type.

Method Detail

addAttachmentPart

public Part addAttachmentPart(Part newPart)
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: org.apache.axis.AxisFault

createAttachmentPart

public Part createAttachmentPart(Object part)
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: org.apache.axis.AxisFault

createAttachmentPart

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

Returns: a new attachment part

Throws: org.apache.axis.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)
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: org.apache.axis.AxisFault

getAttachmentCount

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

Returns: the number of attachments

getAttachments

public Collection getAttachments()
This method will return all attachments as a collection.

Returns: A collection of attachments.

Throws: org.apache.axis.AxisFault

getAttachments

public 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()
Get the content length of the stream.

Returns: the content length of

Throws: org.apache.axis.AxisFault

getContentType

public String getContentType()
Write the content to the stream.

Returns: the content type

Throws: org.apache.axis.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)
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: org.apache.axis.AxisFault

setAttachmentParts

public void setAttachmentParts(Collection parts)
Will the attachments of this message to that of the colleciton.

Parameters: parts

Throws: org.apache.axis.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(OutputStream os)
Write the content to the stream.

Parameters: os the stream

Throws: org.apache.axis.AxisFault

Copyright B) 2005 Apache Web Services Project. All Rights Reserved.