Class QCodec

    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.nio.charset.Charset charset
      The default Charset used for string decoding and encoding.
      private boolean encodeBlanks  
      private static java.util.BitSet PRINTABLE_CHARS
      BitSet of printable characters as defined in RFC 1522.
      private static byte SPACE  
      private static byte UNDERSCORE  
    • Constructor Summary

      Constructors 
      Constructor Description
      QCodec()
      Default constructor.
      QCodec​(java.lang.String charsetName)
      Constructor which allows for the selection of a default Charset.
      QCodec​(java.nio.charset.Charset charset)
      Constructor which allows for the selection of a default Charset.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.Object decode​(java.lang.Object obj)
      Decodes a quoted-printable object into its original form.
      java.lang.String decode​(java.lang.String str)
      Decodes a quoted-printable string into its original form.
      protected byte[] doDecoding​(byte[] bytes)
      Decodes an array of bytes using the defined encoding scheme.
      protected byte[] doEncoding​(byte[] bytes)
      Encodes an array of bytes using the defined encoding scheme.
      java.lang.Object encode​(java.lang.Object obj)
      Encodes an object into its quoted-printable form using the default Charset.
      java.lang.String encode​(java.lang.String sourceStr)
      Encodes a string into its quoted-printable form using the default Charset.
      java.lang.String encode​(java.lang.String sourceStr, java.lang.String sourceCharset)
      Encodes a string into its quoted-printable form using the specified Charset.
      java.lang.String encode​(java.lang.String sourceStr, java.nio.charset.Charset sourceCharset)
      Encodes a string into its quoted-printable form using the specified Charset.
      java.nio.charset.Charset getCharset()
      Gets the default Charset name used for string decoding and encoding.
      java.lang.String getDefaultCharset()
      Gets the default Charset name used for string decoding and encoding.
      protected java.lang.String getEncoding()
      Returns the codec name (referred to as encoding in the RFC 1522).
      boolean isEncodeBlanks()
      Tests if optional transformation of SPACE characters is to be used
      void setEncodeBlanks​(boolean b)
      Defines whether optional transformation of SPACE characters is to be used
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • charset

        private final java.nio.charset.Charset charset
        The default Charset used for string decoding and encoding.
      • PRINTABLE_CHARS

        private static final java.util.BitSet PRINTABLE_CHARS
        BitSet of printable characters as defined in RFC 1522.
      • encodeBlanks

        private boolean encodeBlanks
    • Constructor Detail

      • QCodec

        public QCodec()
        Default constructor.
      • QCodec

        public QCodec​(java.nio.charset.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​(java.lang.String charsetName)
        Constructor which allows for the selection of a default Charset.
        Parameters:
        charsetName - the Charset to use.
        Throws:
        java.nio.charset.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 java.lang.String getEncoding()
        Description copied from class: RFC1522Codec
        Returns the codec name (referred to as encoding in the RFC 1522).
        Specified by:
        getEncoding in class RFC1522Codec
        Returns:
        name of the codec
      • doEncoding

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

        protected byte[] doDecoding​(byte[] bytes)
                             throws DecoderException
        Description copied from class: RFC1522Codec
        Decodes an array of bytes using the defined encoding scheme.
        Specified by:
        doDecoding in class RFC1522Codec
        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 java.lang.String encode​(java.lang.String sourceStr,
                                       java.nio.charset.Charset sourceCharset)
                                throws EncoderException
        Encodes a string into its quoted-printable form using the specified Charset. Unsafe characters are escaped.
        Parameters:
        sourceStr - string to convert to quoted-printable form
        sourceCharset - the Charset for sourceStr
        Returns:
        quoted-printable string
        Throws:
        EncoderException - thrown if a failure condition is encountered during the encoding process.
        Since:
        1.7
      • encode

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

        public java.lang.String encode​(java.lang.String sourceStr)
                                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:
        sourceStr - 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 java.lang.String decode​(java.lang.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 java.lang.Object encode​(java.lang.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 java.lang.Object decode​(java.lang.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 java.nio.charset.Charset getCharset()
        Gets the default Charset name used for string decoding and encoding.
        Returns:
        the default Charset name
        Since:
        1.7
      • getDefaultCharset

        public java.lang.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