// Path: src/main/java/com/chncwang/easy2db/Constants.java
// public class Constants {
//     private Constants() {}
// 
//     public static final String COMMA = ", ";
//     public static final String FROM = " FROM ";
//     public static final String WHERE = " WHERE ";
//     public static final String EQUAL = " = ";
//     public static final String QUOTATION = "\"";
//     public static final String LEFT_PARENTHESES = " (";
//     public static final String RIGHT_PARENTHESES = ") ";
//     public static final String VALUES = " VALUES ";
//     public static final String SET = " SET ";
// 
//     public static final String NULL_POINTER_ERROR_TEMPLATE = "%s should not be null!";
// }
// 
// Path: src/main/java/com/chncwang/easy2db/sql/NumericTypes.java
// public class NumericTypes {
//     private static final Set<Class<?>> sNumericClasses = Sets.newHashSet();
// 
//     static {
//         sNumericClasses.add(Byte.class);
//         sNumericClasses.add(Short.class);
//         sNumericClasses.add(Integer.class);
//         sNumericClasses.add(Long.class);
//         sNumericClasses.add(Float.class);
//         sNumericClasses.add(Double.class);
//         sNumericClasses.add(Boolean.class);
//     }
// 
//     public static boolean isNumericType(final Class<?> clazz) {
//         return sNumericClasses.contains(clazz);
//     }
// }
// 
// Path: src/main/java/com/chncwang/easy2db/table/ColumnDef.java
// public class ColumnDef {
//     private final Class<?> mClass;
//     private final String mName;
// 
//     public ColumnDef(final Class<?> clazz, final String name) {
//         PreconditionsUtil.checkNotNull(name, "name");
// 
//         mClass = clazz;
//         mName = name;
//     }
// 
//     @Override
//     public String toString() {
//         return ToStringBuilder.reflectionToString(this);
//     }
// 
//     public Class<?> getClazz() {
//         return mClass;
//     }
// 
//     public String getName() {
//         return mName;
//     }
// }
// 
// Path: src/main/java/com/chncwang/easy2db/table/value/ColumnWithValue.java
// public class ColumnWithValue {
//     private final ColumnDef mColumnDef;
//     private final Object mValue;
// 
//     public ColumnWithValue(final ColumnDef columnDef, final Object value) {
//         mColumnDef = columnDef;
//         mValue = value;
//     }
// 
//     @Override
//     public String toString() {
//         return ToStringBuilder.reflectionToString(this,
//                 ToStringStyle.MULTI_LINE_STYLE);
//     }
// 
//     public ColumnDef getColumnDef() {
//         return mColumnDef;
//     }
// 
//     public Object getValue() {
//         return mValue;
//     }
// }


import java.util.List;
import org.apache.commons.lang3.StringUtils;
import com.chncwang.easy2db.Constants;
import com.chncwang.easy2db.sql.NumericTypes;
import com.chncwang.easy2db.table.ColumnDef;
import com.chncwang.easy2db.table.value.ColumnWithValue;
import com.google.common.collect.Lists;
package com.chncwang.easy2db.table.util;




public class ColumnUtil {
    private ColumnUtil() {}

    public static String getColumnValueString(final ColumnWithValue columnValue) {
        return NumericTypes
                .isNumericType(columnValue.getColumnDef().getClazz()) ? columnValue
                .getValue().toString() : Constants.QUOTATION
                + columnValue.getValue() + Constants.QUOTATION;
    }

    public static String joinNamesWithCommaWithColumnDefs(
// Path: src/main/java/com/chncwang/easy2db/Constants.java
// public class Constants {
//     private Constants() {}
// 
//     public static final String COMMA = ", ";
//     public static final String FROM = " FROM ";
//     public static final String WHERE = " WHERE ";
//     public static final String EQUAL = " = ";
//     public static final String QUOTATION = "\"";
//     public static final String LEFT_PARENTHESES = " (";
//     public static final String RIGHT_PARENTHESES = ") ";
//     public static final String VALUES = " VALUES ";
//     public static final String SET = " SET ";
// 
//     public static final String NULL_POINTER_ERROR_TEMPLATE = "%s should not be null!";
// }
// 
// Path: src/main/java/com/chncwang/easy2db/sql/NumericTypes.java
// public class NumericTypes {
//     private static final Set<Class<?>> sNumericClasses = Sets.newHashSet();
// 
//     static {
//         sNumericClasses.add(Byte.class);
//         sNumericClasses.add(Short.class);
//         sNumericClasses.add(Integer.class);
//         sNumericClasses.add(Long.class);
//         sNumericClasses.add(Float.class);
//         sNumericClasses.add(Double.class);
//         sNumericClasses.add(Boolean.class);
//     }
// 
//     public static boolean isNumericType(final Class<?> clazz) {
//         return sNumericClasses.contains(clazz);
//     }
// }
// 
// Path: src/main/java/com/chncwang/easy2db/table/ColumnDef.java
// public class ColumnDef {
//     private final Class<?> mClass;
//     private final String mName;
// 
//     public ColumnDef(final Class<?> clazz, final String name) {
//         PreconditionsUtil.checkNotNull(name, "name");
// 
//         mClass = clazz;
//         mName = name;
//     }
// 
//     @Override
//     public String toString() {
//         return ToStringBuilder.reflectionToString(this);
//     }
// 
//     public Class<?> getClazz() {
//         return mClass;
//     }
// 
//     public String getName() {
//         return mName;
//     }
// }
// 
// Path: src/main/java/com/chncwang/easy2db/table/value/ColumnWithValue.java
// public class ColumnWithValue {
//     private final ColumnDef mColumnDef;
//     private final Object mValue;
// 
//     public ColumnWithValue(final ColumnDef columnDef, final Object value) {
//         mColumnDef = columnDef;
//         mValue = value;
//     }
// 
//     @Override
//     public String toString() {
//         return ToStringBuilder.reflectionToString(this,
//                 ToStringStyle.MULTI_LINE_STYLE);
//     }
// 
//     public ColumnDef getColumnDef() {
//         return mColumnDef;
//     }
// 
//     public Object getValue() {
//         return mValue;
//     }
// }


// Path: src/main/java/com/chncwang/easy2db/table/util/ColumnUtil.java
import java.util.List;
import org.apache.commons.lang3.StringUtils;
import com.chncwang.easy2db.Constants;
import com.chncwang.easy2db.sql.NumericTypes;
import com.chncwang.easy2db.table.ColumnDef;
import com.chncwang.easy2db.table.value.ColumnWithValue;
import com.google.common.collect.Lists;

package com.chncwang.easy2db.table.util;




public class ColumnUtil {
    private ColumnUtil() {}

    public static String getColumnValueString(final ColumnWithValue columnValue) {
        return NumericTypes
                .isNumericType(columnValue.getColumnDef().getClazz()) ? columnValue
                .getValue().toString() : Constants.QUOTATION
                + columnValue.getValue() + Constants.QUOTATION;
    }

    public static String joinNamesWithCommaWithColumnDefs(
            final List<ColumnDef> columnDefs) {