org.restlet.engine.header
Class HeaderUtils

java.lang.Object
  extended by org.restlet.engine.header.HeaderUtils

public class HeaderUtils
extends Object

HTTP-style header utilities.

Author:
Jerome Louvel

Method Summary
static void addEntityHeaders(Representation entity, Series<Header> headers)
          Adds the entity headers based on the Representation to the Series.
static void addExtensionHeaders(Series<Header> existingHeaders, Series<Header> additionalHeaders)
          Adds extension headers if they are non-standard headers.
static void addGeneralHeaders(Message message, Series<Header> headers)
          Adds the general headers from the Message to the Series.
static void addHeader(String headerName, String headerValue, Series<Header> headers)
          Adds a header to the given list.
static void addNotModifiedEntityHeaders(Representation entity, Series<Header> headers)
          Adds the entity headers based on the Representation to the Series when a 304 (Not Modified) status is returned.
static void addRequestHeaders(Request request, Series<Header> headers)
          Adds the headers based on the Request to the given Series .
static void addResponseHeaders(Response response, Series<Header> headers)
          Adds the headers based on the Response to the given Series.
static void copyExtensionHeaders(Series<Header> headers, Response response)
          Copies extension headers into a response.
static void copyResponseTransportHeaders(Series<Header> headers, Response response)
          Copies headers into a response.
static Representation extractEntityHeaders(Iterable<Header> headers, Representation representation)
          Extracts entity headers and updates a given representation or create an empty one when at least one entity header is present.
static long getContentLength(Series<Header> headers)
          Returns the content length of the request entity if know, Representation.UNKNOWN_SIZE otherwise.
static boolean isAlpha(int character)
          Indicates if the given character is alphabetical (a-z or A-Z).
static boolean isAsciiChar(int character)
          Indicates if the given character is in ASCII range.
static boolean isCarriageReturn(int character)
          Indicates if the given character is a carriage return.
static boolean isChunkedEncoding(Series<Header> headers)
          Indicates if the entity is chunked.
static boolean isComma(int character)
          Indicates if the given character is a comma, the character used as header value separator.
static boolean isCommentText(int character)
          Indicates if the given character is a comment text.
static boolean isConnectionClose(Series<Header> headers)
          Indicates if the connection must be closed.
static boolean isControlChar(int character)
          Indicates if the given character is a control character.
static boolean isDigit(int character)
          Indicates if the given character is a digit (0-9).
static boolean isDoubleQuote(int character)
          Indicates if the given character is a double quote.
static boolean isHorizontalTab(int character)
          Indicates if the given character is an horizontal tab.
static boolean isLatin1Char(int character)
          Indicates if the given character is in ISO Latin 1 (8859-1) range.
static boolean isLinearWhiteSpace(int character)
          Indicates if the given character is a value separator.
static boolean isLineFeed(int character)
          Indicates if the given character is a line feed.
static boolean isLowerCase(int character)
          Indicates if the given character is lower case (a-z).
static boolean isQuoteCharacter(int character)
          Indicates if the given character marks the start of a quoted pair.
static boolean isQuotedText(int character)
          Indicates if the given character is a quoted text.
static boolean isSemiColon(int character)
          Indicates if the given character is a semicolon, the character used as header parameter separator.
static boolean isSeparator(int character)
          Indicates if the given character is a separator.
static boolean isSpace(int character)
          Indicates if the given character is a space.
static boolean isText(int character)
          Indicates if the given character is textual (ISO Latin 1 and not a control character).
static boolean isToken(CharSequence token)
          Indicates if the token is valid.
Only contains valid token characters.
static boolean isTokenChar(int character)
          Indicates if the given character is a token character (text and not a separator).
static boolean isUpperCase(int character)
          Indicates if the given character is upper case (A-Z).
static void writeCRLF(OutputStream os)
          Writes a new line.
static void writeHeaderLine(Header header, OutputStream os)
          Writes a header line.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

addEntityHeaders

public static void addEntityHeaders(Representation entity,
                                    Series<Header> headers)
Adds the entity headers based on the Representation to the Series.

Parameters:
entity - The source entity Representation.
headers - The target headers Series.

addExtensionHeaders

public static void addExtensionHeaders(Series<Header> existingHeaders,
                                       Series<Header> additionalHeaders)
Adds extension headers if they are non-standard headers.

Parameters:
existingHeaders - The headers to update.
additionalHeaders - The headers to add.

addGeneralHeaders

public static void addGeneralHeaders(Message message,
                                     Series<Header> headers)
Adds the general headers from the Message to the Series.

Parameters:
message - The source Message.
headers - The target headers Series.

addHeader

public static void addHeader(String headerName,
                             String headerValue,
                             Series<Header> headers)
Adds a header to the given list. Checks for exceptions and logs them.

Parameters:
headerName - The header name.
headerValue - The header value.
headers - The headers list.

addNotModifiedEntityHeaders

public static void addNotModifiedEntityHeaders(Representation entity,
                                               Series<Header> headers)
Adds the entity headers based on the Representation to the Series when a 304 (Not Modified) status is returned.

Parameters:
entity - The source entity Representation.
headers - The target headers Series.

addRequestHeaders

public static void addRequestHeaders(Request request,
                                     Series<Header> headers)
Adds the headers based on the Request to the given Series .

Parameters:
request - The Request to copy the headers from.
headers - The Series to copy the headers to.

addResponseHeaders

public static void addResponseHeaders(Response response,
                                      Series<Header> headers)
Adds the headers based on the Response to the given Series.

Parameters:
response - The Response to copy the headers from.
headers - The Series to copy the headers to.

copyExtensionHeaders

public static void copyExtensionHeaders(Series<Header> headers,
                                        Response response)
Copies extension headers into a response.

Parameters:
headers - The headers to copy.
response - The response to update.

copyResponseTransportHeaders

public static void copyResponseTransportHeaders(Series<Header> headers,
                                                Response response)
Copies headers into a response.

Parameters:
headers - The headers to copy.
response - The response to update.

extractEntityHeaders

public static Representation extractEntityHeaders(Iterable<Header> headers,
                                                  Representation representation)
                                           throws NumberFormatException
Extracts entity headers and updates a given representation or create an empty one when at least one entity header is present.

Parameters:
headers - The headers to copy.
representation - The representation to update or null.
Returns:
a representation updated with the given entity headers.
Throws:
NumberFormatException
See Also:
copyResponseTransportHeaders(Series, Response)

getContentLength

public static long getContentLength(Series<Header> headers)
Returns the content length of the request entity if know, Representation.UNKNOWN_SIZE otherwise.

Returns:
The request content length.

isAlpha

public static boolean isAlpha(int character)
Indicates if the given character is alphabetical (a-z or A-Z).

Parameters:
character - The character to test.
Returns:
True if the given character is alphabetical (a-z or A-Z).

isAsciiChar

public static boolean isAsciiChar(int character)
Indicates if the given character is in ASCII range.

Parameters:
character - The character to test.
Returns:
True if the given character is in ASCII range.

isCarriageReturn

public static boolean isCarriageReturn(int character)
Indicates if the given character is a carriage return.

Parameters:
character - The character to test.
Returns:
True if the given character is a carriage return.

isChunkedEncoding

public static boolean isChunkedEncoding(Series<Header> headers)
Indicates if the entity is chunked.

Returns:
True if the entity is chunked.

isComma

public static boolean isComma(int character)
Indicates if the given character is a comma, the character used as header value separator.

Parameters:
character - The character to test.
Returns:
True if the given character is a comma.

isCommentText

public static boolean isCommentText(int character)
Indicates if the given character is a comment text. It means isText(int) returns true and the character is not '(' or ')'.

Parameters:
character - The character to test.
Returns:
True if the given character is a quoted text.

isConnectionClose

public static boolean isConnectionClose(Series<Header> headers)
Indicates if the connection must be closed.

Parameters:
headers - The headers to test.
Returns:
True if the connection must be closed.

isControlChar

public static boolean isControlChar(int character)
Indicates if the given character is a control character.

Parameters:
character - The character to test.
Returns:
True if the given character is a control character.

isDigit

public static boolean isDigit(int character)
Indicates if the given character is a digit (0-9).

Parameters:
character - The character to test.
Returns:
True if the given character is a digit (0-9).

isDoubleQuote

public static boolean isDoubleQuote(int character)
Indicates if the given character is a double quote.

Parameters:
character - The character to test.
Returns:
True if the given character is a double quote.

isHorizontalTab

public static boolean isHorizontalTab(int character)
Indicates if the given character is an horizontal tab.

Parameters:
character - The character to test.
Returns:
True if the given character is an horizontal tab.

isLatin1Char

public static boolean isLatin1Char(int character)
Indicates if the given character is in ISO Latin 1 (8859-1) range. Note that this range is a superset of ASCII and a subrange of Unicode (UTF-8).

Parameters:
character - The character to test.
Returns:
True if the given character is in ISO Latin 1 range.

isLinearWhiteSpace

public static boolean isLinearWhiteSpace(int character)
Indicates if the given character is a value separator.

Parameters:
character - The character to test.
Returns:
True if the given character is a value separator.

isLineFeed

public static boolean isLineFeed(int character)
Indicates if the given character is a line feed.

Parameters:
character - The character to test.
Returns:
True if the given character is a line feed.

isLowerCase

public static boolean isLowerCase(int character)
Indicates if the given character is lower case (a-z).

Parameters:
character - The character to test.
Returns:
True if the given character is lower case (a-z).

isQuoteCharacter

public static boolean isQuoteCharacter(int character)
Indicates if the given character marks the start of a quoted pair.

Parameters:
character - The character to test.
Returns:
True if the given character marks the start of a quoted pair.

isQuotedText

public static boolean isQuotedText(int character)
Indicates if the given character is a quoted text. It means isText(int) returns true and isDoubleQuote(int) returns false.

Parameters:
character - The character to test.
Returns:
True if the given character is a quoted text.

isSemiColon

public static boolean isSemiColon(int character)
Indicates if the given character is a semicolon, the character used as header parameter separator.

Parameters:
character - The character to test.
Returns:
True if the given character is a semicolon.

isSeparator

public static boolean isSeparator(int character)
Indicates if the given character is a separator.

Parameters:
character - The character to test.
Returns:
True if the given character is a separator.

isSpace

public static boolean isSpace(int character)
Indicates if the given character is a space.

Parameters:
character - The character to test.
Returns:
True if the given character is a space.

isText

public static boolean isText(int character)
Indicates if the given character is textual (ISO Latin 1 and not a control character).

Parameters:
character - The character to test.
Returns:
True if the given character is textual.

isToken

public static boolean isToken(CharSequence token)
Indicates if the token is valid.
Only contains valid token characters.

Parameters:
token - The token to check
Returns:
True if the token is valid.

isTokenChar

public static boolean isTokenChar(int character)
Indicates if the given character is a token character (text and not a separator).

Parameters:
character - The character to test.
Returns:
True if the given character is a token character (text and not a separator).

isUpperCase

public static boolean isUpperCase(int character)
Indicates if the given character is upper case (A-Z).

Parameters:
character - The character to test.
Returns:
True if the given character is upper case (A-Z).

writeCRLF

public static void writeCRLF(OutputStream os)
                      throws IOException
Writes a new line.

Parameters:
os - The output stream.
Throws:
IOException

writeHeaderLine

public static void writeHeaderLine(Header header,
                                   OutputStream os)
                            throws IOException
Writes a header line.

Parameters:
header - The header to write.
os - The output stream.
Throws:
IOException


Copyright © 2005-2013 Restlet.