wt.federation
Class FederatedHttpBodyPart

java.lang.Object
  extended by wt.federation.FederatedHttpBodyPart
All Implemented Interfaces:
Externalizable, Serializable

public class FederatedHttpBodyPart
extends Object
implements Externalizable

Defines and manages MIME body parts contained in HTTP request and response messages.

Supported API: true

Extendable: false

See Also:
Serialized Form

Constructor Summary
FederatedHttpBodyPart()
          Constructor returning an instance initialized with an empty set of MIME headings and null content.
FederatedHttpBodyPart(FederatedHttpInputStream inputStream, String boundary)
          Constructor returning an instance initialized from the result of reading the specified input stream.
FederatedHttpBodyPart(String contentType)
          Constructor returning an instance initialized with the specified MIME content type and null content.
 
Method Summary
 void addHeading(String line)
          Parses and adds the specified line to the set of MIME headings.
 void addHeading(String keyword, String value)
          Adds the heading specified by keyword/value pair to the set of MIME headings.
static String getBoundary(String contentType)
          Returns the boundary string specified within a Content-Type heading.
 String getHeading(String keyword)
          Returns the heading with the specified keyword.
 FederatedHttpBodyPart getPart(int index)
          Returns the body part associated with the specified index.
 int getSize()
          Returns the size, in octets, of the body part.
 boolean isLastPart()
          Returns true if this body part is the last body part of a MIME multipart object (its boundary line is the final boundary of the multipart object).
 boolean isMultipart()
          Returns true if the content of the body part is a nested multipart object.
 void removeHeading(String keyword)
          Removes the heading with the specified keyword.
 int writeTo(OutputStream outputStream)
          Writes the body part in HTTP MIME format to the specified output stream, and returns the number of octets written.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FederatedHttpBodyPart

public FederatedHttpBodyPart()
                      throws WTPropertyVetoException
Constructor returning an instance initialized with an empty set of MIME headings and null content.

Supported API: true

Throws:
WTPropertyVetoException

FederatedHttpBodyPart

public FederatedHttpBodyPart(String contentType)
                      throws WTPropertyVetoException
Constructor returning an instance initialized with the specified MIME content type and null content.

Supported API: true

Parameters:
contentType -
Throws:
WTPropertyVetoException

FederatedHttpBodyPart

public FederatedHttpBodyPart(FederatedHttpInputStream inputStream,
                             String boundary)
                      throws WTPropertyVetoException,
                             wt.federation.FederationServicesException
Constructor returning an instance initialized from the result of reading the specified input stream. Reading stops when the specified MIME boundary is detected.

Supported API: true

Parameters:
inputStream -
boundary -
Throws:
WTPropertyVetoException
wt.federation.FederationServicesException
Method Detail

getSize

public int getSize()
            throws wt.federation.FederationServicesException
Returns the size, in octets, of the body part. This can be used in calculating the Content-Length value to be specified in an HTTP request message.

Supported API: true

Returns:
int
Throws:
wt.federation.FederationServicesException

writeTo

public int writeTo(OutputStream outputStream)
            throws wt.federation.FederationServicesException
Writes the body part in HTTP MIME format to the specified output stream, and returns the number of octets written. If the output stream argument is null, nothing is written, but the number of bytes that would have been written are returned.

Supported API: true

Parameters:
outputStream -
Returns:
int
Throws:
wt.federation.FederationServicesException

addHeading

public void addHeading(String line)
Parses and adds the specified line to the set of MIME headings.

Supported API: true

Parameters:
line -

addHeading

public void addHeading(String keyword,
                       String value)
Adds the heading specified by keyword/value pair to the set of MIME headings.

Supported API: true

Parameters:
keyword -
value -

getHeading

public String getHeading(String keyword)
Returns the heading with the specified keyword.

Supported API: true

Parameters:
keyword -
Returns:
String

removeHeading

public void removeHeading(String keyword)
Removes the heading with the specified keyword.

Supported API: true

Parameters:
keyword -

isMultipart

public boolean isMultipart()
Returns true if the content of the body part is a nested multipart object.

Supported API: true

Returns:
boolean

getBoundary

public static String getBoundary(String contentType)
Returns the boundary string specified within a Content-Type heading.

Supported API: true

Parameters:
contentType -
Returns:
String

getPart

public FederatedHttpBodyPart getPart(int index)
Returns the body part associated with the specified index. If the object is not a multipart object, the object returns itself if the specified index is 0. Null is returned if the specified index is greater than the index of the last body part in the multipart object (or the index is greater than 0 when the object is not a multipart).

Supported API: true

Parameters:
index -
Returns:
FederatedHttpBodyPart

isLastPart

public boolean isLastPart()
Returns true if this body part is the last body part of a MIME multipart object (its boundary line is the final boundary of the multipart object).

Supported API: true

Returns:
boolean