com.bea.wli.sb.sources
Interface Headers


public interface Headers

This class is used for managing headers (specifically RFC822-style headers). It is used by various Sources such as MimeSource and MessageContextSource. The class is modeled very closely after the InternetHeaders and MimeHeaders classes (from JavaMail and SAAJ APIs respectively), as all three are essentially used for managing RFC822/MIME headers. All three classes are nearly identical in function and even API signatures. However, the JavaMail and SAAJ implementations are somewhat dated, relying on such features as Enumeration and the always-synchronized Vector class. Also, there are some bugs in MimeHeaders' matching iterator when non-standard iterating or removal patterns are used. These bugs can result in headers being retrieved by the iterator twice or the wrong headers being deleted. Lastly, by designing this Headers class as an interface, it makes it possible to create thin wrappers around both MimeHeaders and InternetHeaders, allowing them to be used more interchangeably and without having to copy data between Headers and the other two representations.


Nested Class Summary
static interface Headers.Header
          Represents an RFC822 header.
 
Field Summary
static String CONTENT_DESCRIPTION
           
static String CONTENT_DISPOSITION
           
static String CONTENT_ID
           
static String CONTENT_LENGTH
           
static String CONTENT_LOCATION
           
static String CONTENT_TRANSFER_ENCODING
           
static String CONTENT_TYPE
           
static String CONTENT_TYPE_PARAMETER_ACTION
           
static String CONTENT_TYPE_PARAMETER_BOUNDARY
           
static String CONTENT_TYPE_PARAMETER_CHARSET
           
static String CONTENT_TYPE_PARAMETER_START
           
static String CONTENT_TYPE_PARAMETER_TYPE
           
static String DEFAULT_MIME_CHARSET
           
static String MIME_MULTIPART
           
static String MIME_MULTIPART_FORMDATA
           
static String MIME_MULTIPART_RELATED
           
static String MIME_VERSION
           
static String RFC822_HEADER_CHARSET
           
 
Method Summary
 void addHeader(String name, String value)
           
 Iterator<Headers.Header> getAllHeaders()
           
 String[] getHeader(String name)
           
 String getHeader(String name, String delim)
           
 Iterator<Headers.Header> getMatchingHeaders(String[] strings)
           
 Iterator<Headers.Header> getNonMatchingHeaders(String[] strings)
           
 void removeAllHeaders()
           
 void removeHeader(String s)
           
 void setHeader(String name, String value)
           
 

Field Detail

DEFAULT_MIME_CHARSET

static final String DEFAULT_MIME_CHARSET
See Also:
Constant Field Values

RFC822_HEADER_CHARSET

static final String RFC822_HEADER_CHARSET
See Also:
Constant Field Values

CONTENT_ID

static final String CONTENT_ID
See Also:
Constant Field Values

CONTENT_DESCRIPTION

static final String CONTENT_DESCRIPTION
See Also:
Constant Field Values

CONTENT_DISPOSITION

static final String CONTENT_DISPOSITION
See Also:
Constant Field Values

CONTENT_LENGTH

static final String CONTENT_LENGTH
See Also:
Constant Field Values

CONTENT_LOCATION

static final String CONTENT_LOCATION
See Also:
Constant Field Values

CONTENT_TRANSFER_ENCODING

static final String CONTENT_TRANSFER_ENCODING
See Also:
Constant Field Values

CONTENT_TYPE

static final String CONTENT_TYPE
See Also:
Constant Field Values

CONTENT_TYPE_PARAMETER_CHARSET

static final String CONTENT_TYPE_PARAMETER_CHARSET
See Also:
Constant Field Values

CONTENT_TYPE_PARAMETER_BOUNDARY

static final String CONTENT_TYPE_PARAMETER_BOUNDARY
See Also:
Constant Field Values

CONTENT_TYPE_PARAMETER_START

static final String CONTENT_TYPE_PARAMETER_START
See Also:
Constant Field Values

CONTENT_TYPE_PARAMETER_TYPE

static final String CONTENT_TYPE_PARAMETER_TYPE
See Also:
Constant Field Values

CONTENT_TYPE_PARAMETER_ACTION

static final String CONTENT_TYPE_PARAMETER_ACTION
See Also:
Constant Field Values

MIME_VERSION

static final String MIME_VERSION
See Also:
Constant Field Values

MIME_MULTIPART

static final String MIME_MULTIPART
See Also:
Constant Field Values

MIME_MULTIPART_RELATED

static final String MIME_MULTIPART_RELATED
See Also:
Constant Field Values

MIME_MULTIPART_FORMDATA

static final String MIME_MULTIPART_FORMDATA
See Also:
Constant Field Values
Method Detail

setHeader

void setHeader(String name,
               String value)

addHeader

void addHeader(String name,
               String value)

removeHeader

void removeHeader(String s)

removeAllHeaders

void removeAllHeaders()

getHeader

String getHeader(String name,
                 String delim)

getHeader

String[] getHeader(String name)

getAllHeaders

Iterator<Headers.Header> getAllHeaders()

getMatchingHeaders

Iterator<Headers.Header> getMatchingHeaders(String[] strings)

getNonMatchingHeaders

Iterator<Headers.Header> getNonMatchingHeaders(String[] strings)