Class QCodec

    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected static String POSTFIX
      Prefix.
      protected static String PREFIX
      Postfix.
      protected static char SEP
      Separator.
    • Constructor Summary

      Constructors 
      Constructor Description
      QCodec()
      Default constructor.
      QCodec​(String charsetName)
      Constructor which allows for the selection of a default charset.
      QCodec​(Charset charset)
      Constructor which allows for the selection of a default charset.
    • Constructor Detail

      • QCodec

        public QCodec()
        Default constructor.
      • QCodec

        public QCodec​(Charset charset)
        Constructor which allows for the selection of a default charset.
        Parameters:
        charset - the default string charset to use.
        Since:
        1.7
        See Also:
        Standard charsets
      • QCodec

        public QCodec​(String charsetName)
        Constructor which allows for the selection of a default charset.
        Parameters:
        charsetName - the charset to use.
        Throws:
        UnsupportedCharsetException - If the named charset is unavailable
        Since:
        1.7 throws UnsupportedCharsetException if the named charset is unavailable
        See Also:
        Standard charsets
    • Method Detail

      • getEncoding

        protected String getEncoding()
        Returns the codec name (referred to as encoding in the RFC 1522).
        Returns:
        name of the codec
      • doEncoding

        protected byte[] doEncoding​(byte[] bytes)
        Encodes an array of bytes using the defined encoding scheme.
        Parameters:
        bytes - Data to be encoded
        Returns:
        A byte array containing the encoded data
      • doDecoding

        protected byte[] doDecoding​(byte[] bytes)
                             throws DecoderException
        Decodes an array of bytes using the defined encoding scheme.
        Parameters:
        bytes - Data to be decoded
        Returns:
        a byte array that contains decoded data
        Throws:
        DecoderException - A decoder exception is thrown if a Decoder encounters a failure condition during the decode process.
      • encode

        public String encode​(String str,
                             Charset charset)
                      throws EncoderException
        Encodes a string into its quoted-printable form using the specified charset. Unsafe characters are escaped.
        Parameters:
        str - string to convert to quoted-printable form
        charset - the charset for str
        Returns:
        quoted-printable string
        Throws:
        EncoderException - thrown if a failure condition is encountered during the encoding process.
        Since:
        1.7
      • encode

        public String encode​(String str,
                             String charset)
                      throws EncoderException
        Encodes a string into its quoted-printable form using the specified charset. Unsafe characters are escaped.
        Parameters:
        str - string to convert to quoted-printable form
        charset - the charset for str
        Returns:
        quoted-printable string
        Throws:
        EncoderException - thrown if a failure condition is encountered during the encoding process.
      • encode

        public String encode​(String str)
                      throws EncoderException
        Encodes a string into its quoted-printable form using the default charset. Unsafe characters are escaped.
        Specified by:
        encode in interface StringEncoder
        Parameters:
        str - string to convert to quoted-printable form
        Returns:
        quoted-printable string
        Throws:
        EncoderException - thrown if a failure condition is encountered during the encoding process.
      • decode

        public String decode​(String str)
                      throws DecoderException
        Decodes a quoted-printable string into its original form. Escaped characters are converted back to their original representation.
        Specified by:
        decode in interface StringDecoder
        Parameters:
        str - quoted-printable string to convert into its original form
        Returns:
        original string
        Throws:
        DecoderException - A decoder exception is thrown if a failure condition is encountered during the decode process.
      • encode

        public Object encode​(Object obj)
                      throws EncoderException
        Encodes an object into its quoted-printable form using the default charset. Unsafe characters are escaped.
        Specified by:
        encode in interface Encoder
        Parameters:
        obj - object to convert to quoted-printable form
        Returns:
        quoted-printable object
        Throws:
        EncoderException - thrown if a failure condition is encountered during the encoding process.
      • decode

        public Object decode​(Object obj)
                      throws DecoderException
        Decodes a quoted-printable object into its original form. Escaped characters are converted back to their original representation.
        Specified by:
        decode in interface Decoder
        Parameters:
        obj - quoted-printable object to convert into its original form
        Returns:
        original object
        Throws:
        DecoderException - Thrown if the argument is not a String. Thrown if a failure condition is encountered during the decode process.
      • getCharset

        public Charset getCharset()
        Gets the default charset name used for string decoding and encoding.
        Returns:
        the default charset name
        Since:
        1.7
      • getDefaultCharset

        public String getDefaultCharset()
        Gets the default charset name used for string decoding and encoding.
        Returns:
        the default charset name
      • isEncodeBlanks

        public boolean isEncodeBlanks()
        Tests if optional transformation of SPACE characters is to be used
        Returns:
        true if SPACE characters are to be transformed, false otherwise
      • setEncodeBlanks

        public void setEncodeBlanks​(boolean b)
        Defines whether optional transformation of SPACE characters is to be used
        Parameters:
        b - true if SPACE characters are to be transformed, false otherwise
      • encodeText

        protected String encodeText​(String text,
                                    Charset charset)
                             throws EncoderException
        Applies an RFC 1522 compliant encoding scheme to the given string of text with the given charset.

        This method constructs the "encoded-word" header common to all the RFC 1522 codecs and then invokes doEncoding(byte []) method of a concrete class to perform the specific encoding.

        Parameters:
        text - a string to encode
        charset - a charset to be used
        Returns:
        RFC 1522 compliant "encoded-word"
        Throws:
        EncoderException - thrown if there is an error condition during the Encoding process.
        See Also:
        Standard charsets
      • decodeText

        protected String decodeText​(String text)
                             throws DecoderException,
                                    UnsupportedEncodingException
        Applies an RFC 1522 compliant decoding scheme to the given string of text.

        This method processes the "encoded-word" header common to all the RFC 1522 codecs and then invokes doEncoding(byte []) method of a concrete class to perform the specific decoding.

        Parameters:
        text - a string to decode
        Returns:
        A new decoded String or null if the input is null.
        Throws:
        DecoderException - thrown if there is an error condition during the decoding process.
        UnsupportedEncodingException - thrown if charset specified in the "encoded-word" header is not supported