Class MySQLCodec


  • public class MySQLCodec
    extends Codec
    Implementation of the Codec interface for MySQL strings. See http://mirror.yandex.ru/mirrors/ftp.mysql.com/doc/refman/5.0/en/string-syntax.html for more information.
    Since:
    June 1, 2007
    Author:
    Jeff Williams (jeff.williams .at. aspectsecurity.com) Aspect Security
    See Also:
    Encoder
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  MySQLCodec.Mode
      Specifies the SQL Mode the target MySQL Server is running with.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static int ANSI_MODE
      Target MySQL Server is running in {@link "http://dev.mysql.com/doc/refman/5.0/en/ansi-mode.html"} ANSI Mode
      static int MYSQL_MODE
      Target MySQL Server is running in Standard MySQL (Default) mode.
    • Field Detail

      • MYSQL_MODE

        public static final int MYSQL_MODE
        Target MySQL Server is running in Standard MySQL (Default) mode.
        See Also:
        Constant Field Values
      • ANSI_MODE

        public static final int ANSI_MODE
        Target MySQL Server is running in {@link "http://dev.mysql.com/doc/refman/5.0/en/ansi-mode.html"} ANSI Mode
        See Also:
        Constant Field Values
    • Constructor Detail

      • MySQLCodec

        public MySQLCodec​(MySQLCodec.Mode mode)
        Instantiate the MySQL Codec with the given SQL MySQLCodec.Mode.
        Parameters:
        mode - The mode the target server is running in
    • Method Detail

      • encodeCharacter

        public java.lang.String encodeCharacter​(char[] immune,
                                                java.lang.Character c)
        Default implementation that should be overridden in specific codecs. Returns quote-encoded character
        Overrides:
        encodeCharacter in class Codec
        Parameters:
        immune -
        c - the Character to encode
        Returns:
        the encoded Character
      • decodeCharacter

        public java.lang.Character decodeCharacter​(PushbackString input)
        Returns the decoded version of the next character from the input string and advances the current character in the PushbackString. If the current character is not encoded, this method MUST reset the PushbackString. Returns the decoded version of the character starting at index, or null if no decoding is possible. Formats all are legal (case sensitive) In ANSI_MODE '' decodes to ' In MYSQL_MODE \x decodes to x (or a small list of specials)
        Overrides:
        decodeCharacter in class Codec
        Parameters:
        input - the Character to decode
        Returns:
        the decoded Character