com.sun.xml.ws.encoding
Class HeaderTokenizer

java.lang.Object
  extended by com.sun.xml.ws.encoding.HeaderTokenizer

 class HeaderTokenizer
extends Object

This class tokenizes RFC822 and MIME headers into the basic symbols specified by RFC822 and MIME.

This class handles folded headers (ie headers with embedded CRLF SPACE sequences). The folds are removed in the returned tokens.


Nested Class Summary
(package private) static class HeaderTokenizer.Token
          The Token class represents tokens returned by the HeaderTokenizer.
 
Field Summary
(package private) static String MIME
          MIME specials
 
Constructor Summary
HeaderTokenizer(String header)
          Constructor.
HeaderTokenizer(String header, String delimiters)
          Constructor.
HeaderTokenizer(String header, String delimiters, boolean skipComments)
          Constructor that takes a rfc822 style header.
 
Method Summary
(package private)  String getRemainder()
          Return the rest of the Header.
(package private)  HeaderTokenizer.Token next()
          Parses the next token from this String.
(package private)  HeaderTokenizer.Token peek()
          Peek at the next token, without actually removing the token from the parse stream.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

MIME

static final String MIME
MIME specials

See Also:
Constant Field Values
Constructor Detail

HeaderTokenizer

HeaderTokenizer(String header,
                String delimiters,
                boolean skipComments)
Constructor that takes a rfc822 style header.

Parameters:
header - The rfc822 header to be tokenized
delimiters - Set of delimiter characters to be used to delimit ATOMS. These are usually RFC822 or MIME
skipComments - If true, comments are skipped and not returned as tokens

HeaderTokenizer

HeaderTokenizer(String header,
                String delimiters)
Constructor. Comments are ignored and not returned as tokens

Parameters:
header - The header that is tokenized
delimiters - The delimiters to be used

HeaderTokenizer

HeaderTokenizer(String header)
Constructor. The RFC822 defined delimiters - RFC822 - are used to delimit ATOMS. Also comments are skipped and not returned as tokens

Method Detail

next

HeaderTokenizer.Token next()
                     throws javax.xml.ws.WebServiceException
Parses the next token from this String.

Clients sit in a loop calling next() to parse successive tokens until an EOF Token is returned.

Returns:
the next Token
Throws:
javax.xml.ws.WebServiceException - if the parse fails

peek

HeaderTokenizer.Token peek()
                     throws javax.xml.ws.WebServiceException
Peek at the next token, without actually removing the token from the parse stream. Invoking this method multiple times will return successive tokens, until next() is called.

Returns:
the next Token
Throws:
javax.xml.ws.WebServiceException - if the parse fails

getRemainder

String getRemainder()
Return the rest of the Header.

Returns:
String rest of header. null is returned if we are already at end of header