Class EncodingGroovyMethods

java.lang.Object
org.codehaus.groovy.runtime.EncodingGroovyMethods

public class EncodingGroovyMethods
extends java.lang.Object
This class defines all the encoding/decoding groovy methods which enhance the normal JDK classes when inside the Groovy environment. Static methods are used with the first parameter the destination class.
  • Constructor Summary

    Constructors
    Constructor Description
    EncodingGroovyMethods()  
  • Method Summary

    Modifier and Type Method Description
    static byte[] decodeBase64​(java.lang.String value)
    Decode the String from Base64 into a byte array.
    static byte[] decodeBase64Url​(java.lang.String value)
    Decodes a Base64 URL and Filename Safe encoded String into a byte array.
    static byte[] decodeHex​(java.lang.String value)
    Decodes a hex string to a byte array.
    static java.lang.String digest​(byte[] self, java.lang.String algorithm)
    digest the byte array
    static java.lang.String digest​(java.lang.CharSequence self, java.lang.String algorithm)
    digest the CharSequence instance
    static Writable encodeBase64​(byte[] data)
    Produce a Writable object which writes the Base64 encoding of the byte array.
    static Writable encodeBase64​(byte[] data, boolean chunked)
    Produce a Writable object which writes the Base64 encoding of the byte array.
    static Writable encodeBase64​(java.lang.Byte[] data)
    Produce a Writable object which writes the Base64 encoding of the byte array.
    static Writable encodeBase64​(java.lang.Byte[] data, boolean chunked)
    Produce a Writable object which writes the Base64 encoding of the byte array.
    static Writable encodeBase64Url​(byte[] data)
    Produce a Writable object which writes the Base64 URL and Filename Safe encoding of the byte array.
    static Writable encodeBase64Url​(byte[] data, boolean pad)
    Produce a Writable object which writes the Base64 URL and Filename Safe encoding of the byte array.
    static Writable encodeBase64Url​(java.lang.Byte[] data)
    Produce a Writable object which writes the Base64 URL and Filename Safe encoding of the byte array.
    static Writable encodeBase64Url​(java.lang.Byte[] data, boolean pad)
    Produce a Writable object which writes the Base64 URL and Filename Safe encoding of the byte array.
    static Writable encodeHex​(byte[] data)
    Produces a Writable that writes the hex encoding of the byte[].
    static Writable encodeHex​(java.lang.Byte[] data)
    Produces a Writable that writes the hex encoding of the Byte[].
    static java.lang.String md5​(byte[] self)
    Calculate md5 of the byte array
    static java.lang.String md5​(java.lang.CharSequence self)
    Calculate md5 of the CharSequence instance
    static java.lang.String sha256​(byte[] self)
    Calculate SHA-256 of the byte array
    static java.lang.String sha256​(java.lang.CharSequence self)
    Calculate SHA-256 of the CharSequence instance

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • EncodingGroovyMethods

      public EncodingGroovyMethods()
  • Method Details

    • encodeBase64

      public static Writable encodeBase64​(java.lang.Byte[] data, boolean chunked)
      Produce a Writable object which writes the Base64 encoding of the byte array. Calling toString() on the result returns the encoding as a String. For more information on Base64 encoding and chunking see RFC 4648.
      Parameters:
      data - Byte array to be encoded
      chunked - whether or not the Base64 encoded data should be MIME chunked
      Returns:
      object which will write the Base64 encoding of the byte array
      Since:
      1.5.1
    • encodeBase64

      public static Writable encodeBase64​(java.lang.Byte[] data)
      Produce a Writable object which writes the Base64 encoding of the byte array. Calling toString() on the result returns the encoding as a String. For more information on Base64 encoding and chunking see RFC 4648.
      Parameters:
      data - Byte array to be encoded
      Returns:
      object which will write the Base64 encoding of the byte array
      Since:
      1.0
    • encodeBase64

      public static Writable encodeBase64​(byte[] data, boolean chunked)
      Produce a Writable object which writes the Base64 encoding of the byte array. Calling toString() on the result returns the encoding as a String. For more information on Base64 encoding and chunking see RFC 4648.
      Parameters:
      data - byte array to be encoded
      chunked - whether or not the Base64 encoded data should be MIME chunked
      Returns:
      object which will write the Base64 encoding of the byte array
      Since:
      1.5.7
    • encodeBase64

      public static Writable encodeBase64​(byte[] data)
      Produce a Writable object which writes the Base64 encoding of the byte array. Calling toString() on the result returns the encoding as a String. For more information on Base64 encoding and chunking see RFC 4648.
      Parameters:
      data - byte array to be encoded
      Returns:
      object which will write the Base64 encoding of the byte array
      Since:
      1.0
    • encodeBase64Url

      public static Writable encodeBase64Url​(java.lang.Byte[] data)
      Produce a Writable object which writes the Base64 URL and Filename Safe encoding of the byte array. Calling toString() on the result returns the encoding as a String. For more information on Base64 URL and Filename Safe encoding see RFC 4648 - Section 5 Base 64 Encoding with URL and Filename Safe Alphabet.

      The method omits padding and is equivalent to calling encodeBase64Url(Byte[], boolean) with a value of false.

      Parameters:
      data - Byte array to be encoded
      Returns:
      object which will write the Base64 URL and Filename Safe encoding of the byte array
      Since:
      2.5.0
      See Also:
      encodeBase64Url(Byte[], boolean)
    • encodeBase64Url

      public static Writable encodeBase64Url​(java.lang.Byte[] data, boolean pad)
      Produce a Writable object which writes the Base64 URL and Filename Safe encoding of the byte array. Calling toString() on the result returns the encoding as a String. For more information on Base64 URL and Filename Safe encoding see RFC 4648 - Section 5 Base 64 Encoding with URL and Filename Safe Alphabet.
      Parameters:
      data - Byte array to be encoded
      pad - whether or not the encoded data should be padded
      Returns:
      object which will write the Base64 URL and Filename Safe encoding of the byte array
      Since:
      2.5.0
    • encodeBase64Url

      public static Writable encodeBase64Url​(byte[] data)
      Produce a Writable object which writes the Base64 URL and Filename Safe encoding of the byte array. Calling toString() on the result returns the encoding as a String. For more information on Base64 URL and Filename Safe encoding see RFC 4648 - Section 5 Base 64 Encoding with URL and Filename Safe Alphabet.

      The method omits padding and is equivalent to calling encodeBase64Url(byte[], boolean) with a value of false.

      Parameters:
      data - Byte array to be encoded
      Returns:
      object which will write the Base64 URL and Filename Safe encoding of the byte array
      Since:
      2.5.0
      See Also:
      encodeBase64Url(byte[], boolean)
    • encodeBase64Url

      public static Writable encodeBase64Url​(byte[] data, boolean pad)
      Produce a Writable object which writes the Base64 URL and Filename Safe encoding of the byte array. Calling toString() on the result returns the encoding as a String. For more information on Base64 URL and Filename Safe encoding see RFC 4648 - Section 5 Base 64 Encoding with URL and Filename Safe Alphabet.
      Parameters:
      data - Byte array to be encoded
      pad - whether or not the encoded data should be padded
      Returns:
      object which will write the Base64 URL and Filename Safe encoding of the byte array
      Since:
      2.5.0
    • decodeBase64

      public static byte[] decodeBase64​(java.lang.String value)
      Decode the String from Base64 into a byte array.
      Parameters:
      value - the string to be decoded
      Returns:
      the decoded bytes as an array
      Since:
      1.0
    • decodeBase64Url

      public static byte[] decodeBase64Url​(java.lang.String value)
      Decodes a Base64 URL and Filename Safe encoded String into a byte array.
      Parameters:
      value - the string to be decoded
      Returns:
      the decoded bytes as an array
      Since:
      2.5.0
    • encodeHex

      public static Writable encodeHex​(java.lang.Byte[] data)
      Produces a Writable that writes the hex encoding of the Byte[]. Calling toString() on this Writable returns the hex encoding as a String. The hex encoding includes two characters for each byte and all letters are lower case.
      Parameters:
      data - byte array to be encoded
      Returns:
      object which will write the hex encoding of the byte array
      See Also:
      Integer.toHexString(int)
    • encodeHex

      public static Writable encodeHex​(byte[] data)
      Produces a Writable that writes the hex encoding of the byte[]. Calling toString() on this Writable returns the hex encoding as a String. The hex encoding includes two characters for each byte and all letters are lower case.
      Parameters:
      data - byte array to be encoded
      Returns:
      object which will write the hex encoding of the byte array
      See Also:
      Integer.toHexString(int)
    • decodeHex

      public static byte[] decodeHex​(java.lang.String value)
      Decodes a hex string to a byte array. The hex string can contain either upper case or lower case letters.
      Parameters:
      value - string to be decoded
      Returns:
      decoded byte array
      Throws:
      java.lang.NumberFormatException - If the string contains an odd number of characters or if the characters are not valid hexadecimal values.
    • md5

      public static java.lang.String md5​(java.lang.CharSequence self) throws java.security.NoSuchAlgorithmException
      Calculate md5 of the CharSequence instance
      Returns:
      md5 value
      Throws:
      java.security.NoSuchAlgorithmException - if MD5 algorithm not found
      Since:
      2.5.0
    • md5

      public static java.lang.String md5​(byte[] self) throws java.security.NoSuchAlgorithmException
      Calculate md5 of the byte array
      Returns:
      md5 value
      Throws:
      java.security.NoSuchAlgorithmException - if MD5 algorithm not found
      Since:
      2.5.0
    • sha256

      public static java.lang.String sha256​(java.lang.CharSequence self) throws java.security.NoSuchAlgorithmException
      Calculate SHA-256 of the CharSequence instance
      Returns:
      SHA-256 value
      Throws:
      java.security.NoSuchAlgorithmException - if SHA-256 algorithm not found
      Since:
      2.5.3
    • sha256

      public static java.lang.String sha256​(byte[] self) throws java.security.NoSuchAlgorithmException
      Calculate SHA-256 of the byte array
      Returns:
      SHA-256 value
      Throws:
      java.security.NoSuchAlgorithmException - if SHA-256 algorithm not found
      Since:
      2.5.3
    • digest

      public static java.lang.String digest​(java.lang.CharSequence self, java.lang.String algorithm) throws java.security.NoSuchAlgorithmException
      digest the CharSequence instance
      Parameters:
      algorithm - the name of the algorithm requested, e.g. MD5, SHA-1, SHA-256, etc.
      Returns:
      digested value
      Throws:
      java.security.NoSuchAlgorithmException - if the algorithm not found
      Since:
      2.5.0
      See Also:
      MessageDigest.getInstance(java.lang.String)
    • digest

      public static java.lang.String digest​(byte[] self, java.lang.String algorithm) throws java.security.NoSuchAlgorithmException
      digest the byte array
      Parameters:
      algorithm - the name of the algorithm requested, e.g. MD5, SHA-1, SHA-256, etc.
      Returns:
      digested value
      Throws:
      java.security.NoSuchAlgorithmException - if the algorithm not found
      Since:
      2.5.0
      See Also:
      MessageDigest.getInstance(java.lang.String)