001package org.javasimon.jdbc4; 002 003/** 004 * Interface that declares a normalizer: an object that accepts a query and returns a key that 005 * can be used to treat same queries with different parameters as same query 006 * 007 * @author Anton Rybochkin 008 * @since 4.2.0 009 */ 010public interface SqlNormalizer { 011 /** 012 * Get type of provided SQL query (SELECT, UPDATE, etc), "batch" for batch queries 013 * @return SQL query type 014 */ 015 String getType(); 016 017 /** 018 * Get source SQL query 019 * @return the query 020 */ 021 String getSql(); 022 023 /** 024 * Get preprocessed query 025 * @return simon key 026 */ 027 String getNormalizedSql(); 028}