// uniCenta oPOS - Touch Friendly Point Of Sale // Copyright (c) 2009-2013 uniCenta & previous Openbravo POS works // http://www.unicenta.net/unicentaopos // // This file is part of uniCenta oPOS // // uniCenta oPOS is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // uniCenta oPOS is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with uniCenta oPOS. If not, see <http://www.gnu.org/licenses/>. package com.openbravo.data.loader; import java.util.Date; import java.text.DateFormat; import java.text.SimpleDateFormat; /** * * @author adrian */ public class DataWriteUtils { private static DateFormat tsf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); /** Creates a new instance of DataWriteUtils */ public DataWriteUtils() { } public static String getSQLValue(Object obj) { if (obj == null) { return "NULL"; } else if (obj instanceof Double) { return getSQLValue((Double) obj); } else if (obj instanceof Integer) { return getSQLValue((Integer) obj); } else if (obj instanceof Boolean) { return getSQLValue((Boolean) obj); } else if (obj instanceof String) { return getSQLValue((String) obj); } else if (obj instanceof Date) { return getSQLValue((Date) obj); } else { return getSQLValue(obj.toString()); } } public static String getSQLValue(Integer iValue) { if (iValue == null) { return "NULL"; } else { return iValue.toString(); } } public static String getSQLValue(Double dValue) { if (dValue == null) { return "NULL"; } else { return dValue.toString(); } } public static String getSQLValue(Boolean bValue) { if (bValue == null) { return "NULL"; } else { return bValue.booleanValue() ? "TRUE" : "FALSE"; } } public static String getSQLValue(String sValue) { if (sValue == null) { return "NULL"; } else { return '\'' + getEscaped(sValue) + '\''; } } public static String getSQLValue(Date dValue) { if (dValue == null) { return "NULL"; } else { return "{ts '" + tsf.format(dValue) + "'}"; } } public static String getEscaped(String sValue) { StringBuilder sb = new StringBuilder(); for (int i = 0; i < sValue.length(); i++) { switch (sValue.charAt(i)) { case '\\': sb.append("\\\\"); break; case '\'': sb.append("\\'"); break; case '\n': sb.append("\\n"); break; case '\r': sb.append("\\r"); break; default: sb.append(sValue.charAt(i)); break; } } return sb.toString(); } }