# Interface Part

public interface Part
The `Part` object is used to represent a part within a request message. Typically a part represents either a text parameter or a file, with associated headers. The contents of the part can be acquire as an `InputStream` or as a string encoded in the default HTTP encoding ISO-8859-1 or in the encoding specified with the Content-Type header.

Author:
  Niall Gallagher
See Also:
  - `Form`

## Method Summary

Modifier and Type
Method
Description
`String`
`getContent()`
This is used to acquire the content of the part as a string.
`ContentType`
`getContentType()`
This is used to acquire the content type for this part.
`String`
`getFileName()`
This method is used to acquire the file name of the part.
`String`
`getHeader(String name)`
This is used to acquire the header value for the specified header name.
`InputStream`
`getInputStream()`
This is used to acquire an `InputStream` for the part.
`String`
`getName()`
This method is used to acquire the name of the part.
`boolean`
`isFile()`
This method is used to determine the type of a part.

## Method Details

### isFile

boolean isFile()
This method is used to determine the type of a part. Typically a part is either a text parameter or a file. If this is true then the content represented by the associated part is a file.

Returns:
  this returns true if the associated part is a file

### getName

String getName()
This method is used to acquire the name of the part. Typically this is used when the part represents a text parameter rather than a file. However, this can also be used with a file part.

Returns:
  this returns the name of the associated part

### getFileName

String getFileName()
This method is used to acquire the file name of the part. This is used when the part represents a text parameter rather than a file. However, this can also be used with a file part.

Returns:
  this returns the file name of the associated part

### getHeader

String getHeader(String name)
This is used to acquire the header value for the specified header name. Providing the header values through this method ensures any special processing for a know content type can be handled by an application.

Parameters:
  `name` - the name of the header to get the value for
Returns:
  value of the header mapped to the specified name

### getContent

String getContent() throws IOException
This is used to acquire the content of the part as a string. The encoding of the string is taken from the content type. If no content type is sent the content is decoded in the standard default of ISO-8859-1.

Returns:
  this returns a string representing the content
Throws:
  `IOException` - thrown if the content can not be created

### getInputStream

InputStream getInputStream() throws IOException
This is used to acquire an `InputStream` for the part. Acquiring the stream allows the content of the part to be consumed by reading the stream. Each invocation of this method will produce a new stream starting from the first byte.

Returns:
  this returns the stream for this part object
Throws:
  `IOException` - thrown if the stream can not be created

### getContentType

ContentType getContentType()
This is used to acquire the content type for this part. This is typically the type of content for a file part, as provided by a MIME type from the HTTP "Content-Type" header.

Returns:
  this returns the content type for the part object