## org.apache.axis.attachments
Class AttachmentPart

    java.lang.Object
      javax.xml.soap.AttachmentPart
          org.apache.axis.attachments.AttachmentPart

All Implemented Interfaces:
  Part, java.io.Serializable

public class AttachmentPart
extends AttachmentPart
implements Part

An attachment part.

See Also:
  Serialized Form

Field Summary
`protected static org.apache.commons.logging.Log` `log` Field log

Constructor Summary
`AttachmentPart()` Bulds a new `AttachmentPart`.
`AttachmentPart(javax.activation.DataHandler dh)` Bulds a new `AttachmentPart` with a `DataHandler`.

Method Summary
`void` `addMimeHeader(java.lang.String header, java.lang.String value)` Add the specified MIME header, as per JAXM.
`void` `clearContent()` Clears out the content of this `AttachmentPart` object.
`void` `detachAttachmentFile()` Detach the attachment file from this class, so it is not cleaned up.
`void` `dispose()` when an attachment part is disposed, any associated files are deleted, and the datahandler itself nulled.
`protected void` `finalize()` On death, we clean up our file.
`javax.activation.DataHandler` `getActivationDataHandler()` Get the data handler.
`java.util.Iterator` `getAllMimeHeaders()` Retrieves all the headers for this `AttachmentPart` object as an iterator over the `MimeHeader` objects.
`java.lang.String` `getAttachmentFile()` Get the filename of this attachment.
`java.lang.Object` `getContent()` Gets the content of this `AttachmentPart` object as a Java object.
`java.lang.String` `getContentId()` Get the content ID.
`java.lang.String` `getContentIdRef()` Content ID.
`java.lang.String` `getContentLocation()` Get the content location.
`java.lang.String` `getContentType()` getContentType
`javax.activation.DataHandler` `getDataHandler()` Gets the `DataHandler` object for this `AttachmentPart` object.
`java.lang.String` `getFirstMimeHeader(java.lang.String header)` Get the specified MIME header.
`java.util.Iterator` `getMatchingMimeHeaders(java.lang.String[] match)` Get an `Iterator` over all headers that match any item in `match`.
`java.lang.String[]` `getMimeHeader(java.lang.String name)` Gets all the values of the header identified by the given `String`.
`java.util.Iterator` `getNonMatchingMimeHeaders(java.lang.String[] match)` Get all headers that do not match.
`int` `getSize()` Returns the number of bytes in this `AttachmentPart` object.
`boolean` `matches(MimeHeaders headers)` check if this Part's mimeheaders matches the one passed in.
`void` `removeAllMimeHeaders()` Removes all the MIME header entries.
`void` `removeMimeHeader(java.lang.String header)` Removes all MIME headers that match the given name.
`protected void` `setAttachmentFile(java.lang.String path)` Set the filename of this attachment part.
`void` `setContent(java.lang.Object object, java.lang.String contentType)` Sets the content of this attachment part to that of the given `Object` and sets the value of the `Content-Type` header to the given type.
`void` `setContentId(java.lang.String newCid)` Sets Content-Id of this part.
`void` `setContentLocation(java.lang.String loc)` Set content location.
`void` `setDataHandler(javax.activation.DataHandler datahandler)` Sets the given `DataHandler` object as the data handler for this `AttachmentPart` object.
`void` `setMimeHeader(java.lang.String name, java.lang.String value)` Changes the first header entry that matches the given name to the given value, adding a new header if no existing header matches.

Methods inherited from class javax.xml.soap.AttachmentPart
`setContentType`

Methods inherited from class java.lang.Object
`clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### log

    protected static org.apache.commons.logging.Log log

  Field log

Constructor Detail

### AttachmentPart

    public AttachmentPart()

  Bulds a new `AttachmentPart`.

### AttachmentPart

    public AttachmentPart(javax.activation.DataHandler dh)

  Bulds a new `AttachmentPart` with a `DataHandler`.

Parameters:
  `dh` - the `DataHandler`

Method Detail

### finalize

    protected void finalize()
                     throws java.lang.Throwable

  On death, we clean up our file.

  Throws:
    `java.lang.Throwable` - if anything went wrong during finalization

### getActivationDataHandler

    public javax.activation.DataHandler getActivationDataHandler()

  Get the data handler.

  Returns:
    the activation `DataHandler`

### getContentType

    public java.lang.String getContentType()

  getContentType

  Specified by:
    `getContentType` in interface `Part`
  Overrides:
    `getContentType` in class `AttachmentPart`
  Returns:
    content type

### addMimeHeader

    public void addMimeHeader(java.lang.String header,
                              java.lang.String value)

  Add the specified MIME header, as per JAXM.

  Specified by:
    `addMimeHeader` in interface `Part`
  Specified by:
    `addMimeHeader` in class `AttachmentPart`
  Parameters:
    `header` -
    `value` -

### getFirstMimeHeader

    public java.lang.String getFirstMimeHeader(java.lang.String header)

  Get the specified MIME header.

  Parameters:
    `header` -
  Returns:

### matches

    public boolean matches(MimeHeaders headers)

  check if this Part's mimeheaders matches the one passed in. TODO: Am not sure about the logic.

  Parameters:
    `headers` - the `MimeHeaders` to check
  Returns:
    true if all header name, values in `headers` are found, false otherwise

### getContentLocation

    public java.lang.String getContentLocation()

  Description copied from interface: `Part`
  Get the content location.

  Specified by:
    `getContentLocation` in interface `Part`
  Overrides:
    `getContentLocation` in class `AttachmentPart`
  Returns:
    a `String` giving the value of the "Content-Location" header or `null` if there is none

### setContentLocation

    public void setContentLocation(java.lang.String loc)

  Description copied from interface: `Part`
  Set content location.

  Specified by:
    `setContentLocation` in interface `Part`
  Overrides:
    `setContentLocation` in class `AttachmentPart`
  Parameters:
    `loc` - a `String` giving the value of the "Content-Location" header

### setContentId

    public void setContentId(java.lang.String newCid)

  Description copied from interface: `Part`
  Sets Content-Id of this part. already defined.

  Specified by:
    `setContentId` in interface `Part`
  Overrides:
    `setContentId` in class `AttachmentPart`
  Parameters:
    `newCid` - a `String` giving the value of the "Content-Id" header
  See Also:
    `getContentId()`

### getContentId

    public java.lang.String getContentId()

  Description copied from interface: `Part`
  Get the content ID.

  Specified by:
    `getContentId` in interface `Part`
  Overrides:
    `getContentId` in class `AttachmentPart`
  Returns:
    a `String` giving the value of the "Content-Id" header or `null` if there is none
  See Also:
    `setContentId(java.lang.String)`

### getMatchingMimeHeaders

    public java.util.Iterator getMatchingMimeHeaders(java.lang.String[] match)

  Description copied from interface: `Part`
  Get an `Iterator` over all headers that match any item in `match`.

  Specified by:
    `getMatchingMimeHeaders` in interface `Part`
  Specified by:
    `getMatchingMimeHeaders` in class `AttachmentPart`
  Parameters:
    `match` - a `String` array with the name(s) of the MIME headers to be returned
  Returns:
    all of the MIME headers that match one of the names in the given array as an `Iterator` object

### getNonMatchingMimeHeaders

    public java.util.Iterator getNonMatchingMimeHeaders(java.lang.String[] match)

  Description copied from interface: `Part`
  Get all headers that do not match.

  Specified by:
    `getNonMatchingMimeHeaders` in interface `Part`
  Specified by:
    `getNonMatchingMimeHeaders` in class `AttachmentPart`
  Parameters:
    `match` - a `String` array with the name(s) of the MIME headers not to be returned
  Returns:
    all of the MIME headers in this `AttachmentPart` object except those that match one of the names in the given array. The nonmatching MIME headers are returned as an `Iterator` object.

### getAllMimeHeaders

    public java.util.Iterator getAllMimeHeaders()

  Description copied from class: `AttachmentPart`
  Retrieves all the headers for this `AttachmentPart` object as an iterator over the `MimeHeader` objects.

  Specified by:
    `getAllMimeHeaders` in class `AttachmentPart`
  Returns:
    an `Iterator` object with all of the Mime headers for this `AttachmentPart` object

### setMimeHeader

    public void setMimeHeader(java.lang.String name,
                              java.lang.String value)

  Changes the first header entry that matches the given name to the given value, adding a new header if no existing header matches. This method also removes all matching headers but the first.

  Note that RFC822 headers can only contain US-ASCII characters.

  Specified by:
    `setMimeHeader` in class `AttachmentPart`
  Parameters:
    `name` - a `String` giving the name of the header for which to search
    `value` - a `String` giving the value to be set for the header whose name matches the given name
  Throws:
    `java.lang.IllegalArgumentException` - if there was a problem with the specified mime header name or value

### removeAllMimeHeaders

    public void removeAllMimeHeaders()

  Removes all the MIME header entries.

  Specified by:
    `removeAllMimeHeaders` in class `AttachmentPart`

### removeMimeHeader

    public void removeMimeHeader(java.lang.String header)

  Removes all MIME headers that match the given name.

  Specified by:
    `removeMimeHeader` in class `AttachmentPart`
  Parameters:
    `header` - - the string name of the MIME header/s to be removed

### getDataHandler

    public javax.activation.DataHandler getDataHandler()
                                                throws SOAPException

  Gets the `DataHandler` object for this `AttachmentPart` object.

  Specified by:
    `getDataHandler` in class `AttachmentPart`
  Returns:
    the `DataHandler` object associated with this `AttachmentPart` object
  Throws:
    `SOAPException` - if there is no data in this `AttachmentPart` object

### setDataHandler

    public void setDataHandler(javax.activation.DataHandler datahandler)

  Sets the given `DataHandler` object as the data handler for this `AttachmentPart` object. Typically, on an incoming message, the data handler is automatically set. When a message is being created and populated with content, the `setDataHandler` method can be used to get data from various data sources into the message.

  Specified by:
    `setDataHandler` in class `AttachmentPart`
  Parameters:
    `datahandler` - `DataHandler` object to be set
  Throws:
    `java.lang.IllegalArgumentException` - if there was a problem with the specified `DataHandler` object

### getContent

    public java.lang.Object getContent()
                                throws SOAPException

  Gets the content of this `AttachmentPart` object as a Java object. The type of the returned Java object depends on (1) the `DataContentHandler` object that is used to interpret the bytes and (2) the `Content-Type` given in the header.

  For the MIME content types "text/plain", "text/html" and "text/xml", the `DataContentHandler` object does the conversions to and from the Java types corresponding to the MIME types. For other MIME types,the `DataContentHandler` object can return an `InputStream` object that contains the content data as raw bytes.

  A JAXM-compliant implementation must, as a minimum, return a `java.lang.String` object corresponding to any content stream with a `Content-Type` value of `text/plain` and a `javax.xml.transform.StreamSource` object corresponding to a content stream with a `Content-Type` value of `text/xml`. For those content types that an installed `DataContentHandler` object does not understand, the `DataContentHandler` object is required to return a `java.io.InputStream` object with the raw bytes.

  Specified by:
    `getContent` in class `AttachmentPart`
  Returns:
    a Java object with the content of this `AttachmentPart` object
  Throws:
    `SOAPException` - if there is no content set into this `AttachmentPart` object or if there was a data transformation error

### setContent

    public void setContent(java.lang.Object object,
                           java.lang.String contentType)

  Sets the content of this attachment part to that of the given `Object` and sets the value of the `Content-Type` header to the given type. The type of the `Object` should correspond to the value given for the `Content-Type`. This depends on the particular set of `DataContentHandler` objects in use.

  Specified by:
    `setContent` in class `AttachmentPart`
  Parameters:
    `object` - the Java object that makes up the content for this attachment part
    `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 `DataContentHandler` object for this content object
  See Also:
    `getContent()`

### clearContent

    public void clearContent()

  Clears out the content of this `AttachmentPart` object. The MIME header portion is left untouched.

  Specified by:
    `clearContent` in class `AttachmentPart`

### getSize

    public int getSize()
                throws SOAPException

  Returns the number of bytes in this `AttachmentPart` object.

  Specified by:
    `getSize` in class `AttachmentPart`
  Returns:
    the size of this `AttachmentPart` 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.

### getMimeHeader

    public java.lang.String[] getMimeHeader(java.lang.String name)

  Gets all the values of the header identified by the given `String`.

  Specified by:
    `getMimeHeader` in interface `Part`
  Specified by:
    `getMimeHeader` in class `AttachmentPart`
  Parameters:
    `name` - the name of the header; example: "Content-Type"
  Returns:
    a `String` array giving the value for the specified header
  See Also:
    `setMimeHeader(java.lang.String, java.lang.String)`

### getContentIdRef

    public java.lang.String getContentIdRef()

  Content ID.

  Specified by:
    `getContentIdRef` in interface `Part`
  Returns:
    the contentId reference value that should be used directly as an href in a SOAP element to reference this attachment. Not part of JAX-RPC, JAX-M, SAAJ, etc.

### setAttachmentFile

    protected void setAttachmentFile(java.lang.String path)

  Set the filename of this attachment part.

  Parameters:
    `path` - the new file path

### detachAttachmentFile

    public void detachAttachmentFile()

  Detach the attachment file from this class, so it is not cleaned up. This has the side-effect of making subsequent calls to getAttachmentFile() return `null`.

### getAttachmentFile

    public java.lang.String getAttachmentFile()

  Get the filename of this attachment.

  Returns:
    the filename or null for an uncached file

### dispose

    public void dispose()

  when an attachment part is disposed, any associated files are deleted, and the datahandler itself nulled. The object is no longer completely usable, at this point

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