## 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

Class AttachmentPart

See Also:
  Serialized Form

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

Constructor Summary
`AttachmentPart()` Constructor AttachmentPart
`AttachmentPart(javax.activation.DataHandler dh)` Constructor AttachmentPart

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
`protected void` `finalize()` on death, we clean up our file
`javax.activation.DataHandler` `getActivationDataHandler()` Method getActivationDataHandler
`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()` Content ID.
`java.lang.String` `getContentIdRef()` Content ID.
`java.lang.String` `getContentLocation()` 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 all headers that 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()

  Constructor AttachmentPart

### AttachmentPart

    public AttachmentPart(javax.activation.DataHandler dh)

  Constructor AttachmentPart

Parameters:
  `dh` -

Method Detail

### finalize

    protected void finalize()
                     throws java.lang.Throwable

  on death, we clean up our file

  Overrides:
    `finalize` in class `java.lang.Object`
  Throws:
    `java.lang.Throwable`

### getActivationDataHandler

    public javax.activation.DataHandler getActivationDataHandler()

  Method getActivationDataHandler

  Returns:

### 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.

### getContentLocation

    public java.lang.String getContentLocation()

  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)

  Set content location.

  Specified by:
    `setContentLocation` in interface `Part`
  Overrides:
    `setContentLocation` in class `AttachmentPart`
  Parameters:
    `loc` -

### setContentId

    public void setContentId(java.lang.String newCid)

  Sets Content-Id of this part. already defined.

  Specified by:
    `setContentId` in interface `Part`
  Overrides:
    `setContentId` in class `AttachmentPart`
  Parameters:
    `newCid` - new Content-Id

### getContentId

    public java.lang.String getContentId()

  Content ID.

  Specified by:
    `getContentId` in interface `Part`
  Overrides:
    `getContentId` in class `AttachmentPart`
  Returns:
  See Also:
    `setContentId(java.lang.String)`

### getMatchingMimeHeaders

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

  Get all headers that match

  Specified by:
    `getMatchingMimeHeaders` in interface `Part`
  Specified by:
    `getMatchingMimeHeaders` in class `AttachmentPart`
  Parameters:
    `match` -
  Returns:

### getNonMatchingMimeHeaders

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

  Get all headers that do not match

  Specified by:
    `getNonMatchingMimeHeaders` in interface `Part`
  Specified by:
    `getNonMatchingMimeHeaders` in class `AttachmentPart`
  Parameters:
    `match` -
  Returns:

### getAllMimeHeaders

    public java.util.Iterator getAllMimeHeaders()

  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` -

### detachAttachmentFile

    public void detachAttachmentFile()

  detach the attachment file from this class, so it is not cleaned up

### 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

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