net.sourceforge.jwap.wsp.header
Class WAPCodePage

java.lang.Object
  |
  +--net.sourceforge.jwap.wsp.header.CodePage
        |
        +--net.sourceforge.jwap.wsp.header.WAPCodePage

public class WAPCodePage
extends CodePage

This class implements the WAP default codepage for Header encoding/decoding

Author:
Michel Marti

Method Summary
 Header decode(byte[] data)
          Convert (decode) a byte array containing a Header.
 java.lang.String decodeAcceptLanguage(byte[] data)
           
 java.lang.String decodeCacheControl(byte[] data)
           
 java.lang.String decodeConnection(byte[] data)
           
 java.lang.String decodeContentDisposition(byte[] data)
           
 java.lang.String decodeContentId(byte[] data)
           
 java.lang.String decodeContentLength(byte[] data)
           
 java.lang.String decodeContentLocation(byte[] data)
           
 java.lang.String decodeContentType(byte[] data)
           
 java.lang.String decodeDate(byte[] data)
           
 java.lang.String decodeExpires(byte[] data)
           
 java.lang.String decodeLocation(byte[] data)
           
 java.lang.String decodePushFlag(byte[] data)
           
 java.lang.String decodeServer(byte[] data)
           
 java.lang.String decodeVia(byte[] data)
           
 java.lang.String decodeWarning(byte[] data)
           
 java.lang.String decodeXWapApplicationId(byte[] data)
           
 java.lang.String decodeXWapContentUri(byte[] data)
           
 java.lang.String decodeXWapInitiatorUri(byte[] data)
           
 byte[] encode(java.lang.String key, java.util.Date value)
          Encode a date header.
 byte[] encode(java.lang.String key, long value)
          Encode a long header.
 byte[] encode(java.lang.String key, java.lang.String value)
          Encode a header.
 void encodeAccept(java.io.OutputStream hdrs, short wk, java.lang.String value)
           
 void encodeAcceptCharset(java.io.OutputStream hdrs, short wk, java.lang.String value)
           
 void encodeAcceptEncoding(java.io.OutputStream hdrs, short wk, java.lang.String value)
           
 void encodeAcceptLanguage(java.io.OutputStream hdrs, short wk, java.lang.String value)
           
 void encodeAcceptRanges(java.io.OutputStream hdrs, short wk, java.lang.String value)
           
 void encodeCacheControl(java.io.OutputStream hdrs, short wk, java.lang.String value)
           
 void encodeConnection(java.io.OutputStream hdrs, short wk, java.lang.String value)
           
 void encodeContentDisposition(java.io.OutputStream hdrs, short wk, java.lang.String value)
           
 void encodeContentEncoding(java.io.OutputStream hdrs, short wk, java.lang.String value)
           
 void encodeContentId(java.io.OutputStream hdrs, short wk, java.lang.String value)
           
 void encodeContentLanguage(java.io.OutputStream hdrs, short wk, java.lang.String value)
           
 void encodeContentLength(java.io.OutputStream hdrs, short wk, java.lang.String value)
           
 void encodeContentLocation(java.io.OutputStream hdrs, short wk, java.lang.String value)
           
 void encodeContentType(java.io.OutputStream hdrs, short wk, java.lang.String value)
           
 void encodeFrom(java.io.OutputStream hdrs, short wk, java.lang.String value)
           
 void encodeHost(java.io.OutputStream hdrs, short wk, java.lang.String value)
           
 void encodeIfMatch(java.io.OutputStream hdrs, short wk, java.lang.String value)
           
 void encodeIfNonMatch(java.io.OutputStream hdrs, short wk, java.lang.String value)
           
 void encodeIfRange(java.io.OutputStream hdrs, short wk, java.lang.String value)
           
 void encodeMaxForwards(java.io.OutputStream hdrs, short wk, java.lang.String value)
           
 void encodeReferer(java.io.OutputStream hdrs, short wk, java.lang.String value)
           
 void encodeUserAgent(java.io.OutputStream hdrs, short wk, java.lang.String value)
           
static WAPCodePage getInstance()
          Returns an instance of the WAP Codepage.
static WAPCodePage getInstance(int major, int minor)
          Returns an instance of the WAP Codepage.
 
Methods inherited from class net.sourceforge.jwap.wsp.header.CodePage
getBytes, getPageCode, getPageName, isShortCut
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getInstance

public static WAPCodePage getInstance()
Returns an instance of the WAP Codepage. Encoding is done according to encoding version 1.1

getInstance

public static WAPCodePage getInstance(int major,
                                      int minor)
                               throws java.lang.IllegalArgumentException
Returns an instance of the WAP Codepage. Encoding is done according to the specified encoding version.
Parameters:
major - the major encoding version
minor - the minor encoding version
Throws:
java.lang.IllegalArgumentException - if no encoding exists for the specified major/minor version

encode

public byte[] encode(java.lang.String key,
                     java.lang.String value)
              throws HeaderParseException
Description copied from class: CodePage
Encode a header.
Overrides:
encode in class CodePage
Following copied from class: net.sourceforge.jwap.wsp.header.CodePage
Parameters:
key - the header name
value - the header value
Returns:
the header encoded as byte array
Throws:
HeaderParseException - if the header cannot be encoded

encode

public byte[] encode(java.lang.String key,
                     java.util.Date value)
Description copied from class: CodePage
Encode a date header.
Overrides:
encode in class CodePage
Following copied from class: net.sourceforge.jwap.wsp.header.CodePage
Parameters:
key - the header name
value - the value
Returns:
the header encoded as byte array
Throws:
HeaderParseException - if the header cannot be encoded

encode

public byte[] encode(java.lang.String key,
                     long value)
              throws HeaderParseException
Description copied from class: CodePage
Encode a long header.
Overrides:
encode in class CodePage
Following copied from class: net.sourceforge.jwap.wsp.header.CodePage
Parameters:
key - the header name
value - the header value
Returns:
the header encoded as byte array
Throws:
HeaderParseException - if the header cannot be encoded

encodeAccept

public void encodeAccept(java.io.OutputStream hdrs,
                         short wk,
                         java.lang.String value)
                  throws java.io.IOException

encodeAcceptCharset

public void encodeAcceptCharset(java.io.OutputStream hdrs,
                                short wk,
                                java.lang.String value)
                         throws java.io.IOException

encodeAcceptEncoding

public void encodeAcceptEncoding(java.io.OutputStream hdrs,
                                 short wk,
                                 java.lang.String value)
                          throws java.io.IOException

encodeAcceptLanguage

public void encodeAcceptLanguage(java.io.OutputStream hdrs,
                                 short wk,
                                 java.lang.String value)
                          throws java.io.IOException

encodeAcceptRanges

public void encodeAcceptRanges(java.io.OutputStream hdrs,
                               short wk,
                               java.lang.String value)
                        throws java.io.IOException

encodeCacheControl

public void encodeCacheControl(java.io.OutputStream hdrs,
                               short wk,
                               java.lang.String value)
                        throws java.io.IOException

encodeConnection

public void encodeConnection(java.io.OutputStream hdrs,
                             short wk,
                             java.lang.String value)
                      throws java.io.IOException

encodeContentEncoding

public void encodeContentEncoding(java.io.OutputStream hdrs,
                                  short wk,
                                  java.lang.String value)
                           throws java.io.IOException

encodeContentId

public void encodeContentId(java.io.OutputStream hdrs,
                            short wk,
                            java.lang.String value)
                     throws java.io.IOException

encodeContentLanguage

public void encodeContentLanguage(java.io.OutputStream hdrs,
                                  short wk,
                                  java.lang.String value)
                           throws java.io.IOException

encodeContentLength

public void encodeContentLength(java.io.OutputStream hdrs,
                                short wk,
                                java.lang.String value)
                         throws java.io.IOException

encodeContentLocation

public void encodeContentLocation(java.io.OutputStream hdrs,
                                  short wk,
                                  java.lang.String value)
                           throws java.io.IOException

encodeContentType

public void encodeContentType(java.io.OutputStream hdrs,
                              short wk,
                              java.lang.String value)
                       throws java.io.IOException

encodeContentDisposition

public void encodeContentDisposition(java.io.OutputStream hdrs,
                                     short wk,
                                     java.lang.String value)
                              throws java.io.IOException

encodeFrom

public void encodeFrom(java.io.OutputStream hdrs,
                       short wk,
                       java.lang.String value)
                throws java.io.IOException

encodeHost

public void encodeHost(java.io.OutputStream hdrs,
                       short wk,
                       java.lang.String value)
                throws java.io.IOException

encodeIfMatch

public void encodeIfMatch(java.io.OutputStream hdrs,
                          short wk,
                          java.lang.String value)
                   throws java.io.IOException

encodeIfNonMatch

public void encodeIfNonMatch(java.io.OutputStream hdrs,
                             short wk,
                             java.lang.String value)
                      throws java.io.IOException

encodeIfRange

public void encodeIfRange(java.io.OutputStream hdrs,
                          short wk,
                          java.lang.String value)
                   throws java.io.IOException

encodeMaxForwards

public void encodeMaxForwards(java.io.OutputStream hdrs,
                              short wk,
                              java.lang.String value)
                       throws java.io.IOException

encodeReferer

public void encodeReferer(java.io.OutputStream hdrs,
                          short wk,
                          java.lang.String value)
                   throws java.io.IOException

encodeUserAgent

public void encodeUserAgent(java.io.OutputStream hdrs,
                            short wk,
                            java.lang.String value)
                     throws java.io.IOException

decode

public Header decode(byte[] data)
              throws HeaderParseException,
                     java.io.IOException
Description copied from class: CodePage
Convert (decode) a byte array containing a Header.
Overrides:
decode in class CodePage
Following copied from class: net.sourceforge.jwap.wsp.header.CodePage
Parameters:
data - the data to decode
Returns:
a Header object
Throws:
HeaderParseException - if the data cannot be decoded

decodeAcceptLanguage

public java.lang.String decodeAcceptLanguage(byte[] data)
                                      throws java.io.IOException

decodeDate

public java.lang.String decodeDate(byte[] data)

decodeServer

public java.lang.String decodeServer(byte[] data)

decodeContentId

public java.lang.String decodeContentId(byte[] data)

decodeContentDisposition

public java.lang.String decodeContentDisposition(byte[] data)

decodeContentLength

public java.lang.String decodeContentLength(byte[] data)

decodeContentLocation

public java.lang.String decodeContentLocation(byte[] data)

decodeContentType

public java.lang.String decodeContentType(byte[] data)

decodeConnection

public java.lang.String decodeConnection(byte[] data)

decodeVia

public java.lang.String decodeVia(byte[] data)

decodeWarning

public java.lang.String decodeWarning(byte[] data)

decodeExpires

public java.lang.String decodeExpires(byte[] data)

decodeCacheControl

public java.lang.String decodeCacheControl(byte[] data)

decodeLocation

public java.lang.String decodeLocation(byte[] data)

decodeXWapApplicationId

public java.lang.String decodeXWapApplicationId(byte[] data)

decodeXWapContentUri

public java.lang.String decodeXWapContentUri(byte[] data)

decodeXWapInitiatorUri

public java.lang.String decodeXWapInitiatorUri(byte[] data)

decodePushFlag

public java.lang.String decodePushFlag(byte[] data)