package org.bouncycastle.i18n.filter; /** * Filter for strings to store in a SQL table. * * escapes ' " = - / \ ; \r \n */ public class SQLFilter implements Filter { public String doFilter(String input) { StringBuffer buf = new StringBuffer(input); int i = 0; while (i < buf.length()) { char ch = buf.charAt(i); switch (ch) { case '\'': buf.replace(i,i+1,"\\\'"); i += 1; break; case '\"': buf.replace(i,i+1,"\\\""); i += 1; break; case '=': buf.replace(i,i+1,"\\="); i += 1; break; case '-': buf.replace(i,i+1,"\\-"); i += 1; break; case '/': buf.replace(i,i+1,"\\/"); i += 1; break; case '\\': buf.replace(i,i+1,"\\\\"); i += 1; break; case ';': buf.replace(i,i+1,"\\;"); i += 1; break; case '\r': buf.replace(i,i+1,"\\r"); i += 1; break; case '\n': buf.replace(i,i+1,"\\n"); i += 1; break; default: } i++; } return buf.toString(); } }