/*
* Copyright 2001-2008 Geert Bevin (gbevin[remove] at uwyn dot com)
* Licensed under the Apache License, Version 2.0 (the "License")
* $Id: SqlArrays.java 3918 2008-04-14 17:35:35Z gbevin $
*/
package com.uwyn.rife.database.types;
import com.uwyn.rife.tools.StringUtils;
public abstract class SqlArrays
{
public static String convertArray(Object[] array)
{
if (null == array)
{
return SqlNull.NULL.toString();
}
else
{
StringBuilder result = new StringBuilder("{");
for (Object array_field : array)
{
if (null == array_field)
{
result.append(SqlNull.NULL.toString());
}
else if (array_field instanceof String)
{
result.append("'").append(StringUtils.encodeSql((String)array_field)).append("'");
}
else if (array_field instanceof StringBuilder)
{
result.append("'").append(StringUtils.encodeSql(array_field.toString())).append("'");
}
else if (array_field instanceof StringBuffer)
{
result.append("'").append(StringUtils.encodeSql(array_field.toString())).append("'");
}
else if (array_field instanceof Object[])
{
result.append(convertArray((Object[])array_field));
}
else
{
result.append(array_field.toString());
}
result.append(",");
}
if (result.length() > 1)
{
result.setLength(result.length()-1);
}
result.append("}");
return result.toString();
}
}
public static String convertArray(boolean[] array)
{
if (null == array)
{
return SqlNull.NULL.toString();
}
else
{
return "{"+StringUtils.join(array, ",")+"}";
}
}
public static String convertArray(byte[] array)
{
if (null == array)
{
return SqlNull.NULL.toString();
}
else
{
return "{"+StringUtils.join(array, ",")+"}";
}
}
public static String convertArray(double[] array)
{
if (null == array)
{
return SqlNull.NULL.toString();
}
else
{
return "{"+StringUtils.join(array, ",")+"}";
}
}
public static String convertArray(float[] array)
{
if (null == array)
{
return SqlNull.NULL.toString();
}
else
{
return "{"+StringUtils.join(array, ",")+"}";
}
}
public static String convertArray(int[] array)
{
if (null == array)
{
return SqlNull.NULL.toString();
}
else
{
return "{"+StringUtils.join(array, ",")+"}";
}
}
public static String convertArray(long[] array)
{
if (null == array)
{
return SqlNull.NULL.toString();
}
else
{
return "{"+StringUtils.join(array, ",")+"}";
}
}
public static String convertArray(short[] array)
{
if (null == array)
{
return SqlNull.NULL.toString();
}
else
{
return "{"+StringUtils.join(array, ",")+"}";
}
}
public static String convertArray(char[] array)
{
if (null == array)
{
return SqlNull.NULL.toString();
}
else
{
return "{"+StringUtils.join(array, ",", "'")+"}";
}
}
}