package org.aksw.sparqlify.core.sql.common.serialization; /** * Class for escaping certain syntactic SQL elements. * TODO Where to perform SQL escaping of literals? - This should be part of the SqlExpr serializers I suppose * * * * @author raven * */ public interface SqlEscaper { String escapeAliasName(String aliasName); String escapeTableName(String tableName); String escapeColumnName(String columnName); /** * Escapes a string literal. * Note that serializing non-string types may still use string escaping as part * of the serialization process. E.g. a Date may be serialized as; * * DATE 'str' * * http://dev.mysql.com/doc/refman/5.7/en/date-and-time-literals.html * * @param str * @return */ String escapeStringLiteral(String str); }