Class BCodec

    • 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
      BCodec()
      Default constructor.
      BCodec​(String charsetName)
      Constructor which allows for the selection of a default Charset
      BCodec​(Charset charset)
      Constructor which allows for the selection of a default Charset
      BCodec​(Charset charset, CodecPolicy decodingPolicy)
      Constructor which allows for the selection of a default Charset.
    • Constructor Detail

      • BCodec

        public BCodec()
        Default constructor.
      • BCodec

        public BCodec​(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
      • BCodec

        public BCodec​(Charset charset,
                      CodecPolicy decodingPolicy)
        Constructor which allows for the selection of a default Charset.
        Parameters:
        charset - the default string Charset to use.
        decodingPolicy - The decoding policy.
        Since:
        1.15
        See Also:
        Standard charsets
      • BCodec

        public BCodec​(String charsetName)
        Constructor which allows for the selection of a default Charset
        Parameters:
        charsetName - the default 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

      • isStrictDecoding

        public boolean isStrictDecoding()
        Returns true if decoding behavior is strict. Decoding will raise a DecoderException if trailing bits are not part of a valid Base64 encoding.

        The default is false for lenient encoding. Decoding will compose trailing bits into 8-bit bytes and discard the remainder.

        Returns:
        true if using strict decoding
        Since:
        1.15
      • 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)
        Decodes an array of bytes using the defined encoding scheme.
        Parameters:
        bytes - Data to be decoded
        Returns:
        a byte array that contains decoded data
      • encode

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

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

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

        public String decode​(String value)
                      throws DecoderException
        Decodes a Base64 string into its original form. Escaped characters are converted back to their original representation.
        Specified by:
        decode in interface StringDecoder
        Parameters:
        value - Base64 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 value)
                      throws EncoderException
        Encodes an object into its Base64 form using the default Charset. Unsafe characters are escaped.
        Specified by:
        encode in interface Encoder
        Parameters:
        value - object to convert to Base64 form
        Returns:
        Base64 object
        Throws:
        EncoderException - thrown if a failure condition is encountered during the encoding process.
      • decode

        public Object decode​(Object value)
                      throws DecoderException
        Decodes a Base64 object into its original form. Escaped characters are converted back to their original representation.
        Specified by:
        decode in interface Decoder
        Parameters:
        value - Base64 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
      • 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