250 lines
7.2 KiB
C#
250 lines
7.2 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
|
|
namespace MesTools.ImsApi
|
|
{
|
|
public class ArrayPrinter
|
|
{
|
|
|
|
private TypePrinter typePrinter;
|
|
|
|
public static int MAX_ARRAY_SIZE = 3;
|
|
|
|
public ArrayPrinter(TypePrinter typePrinter)
|
|
{
|
|
this.typePrinter = typePrinter;
|
|
}
|
|
|
|
public void print(String varName, String[] data, StringBuilder stringBuffer)
|
|
{
|
|
printArrayHeader("String", varName, data.Length, stringBuffer);
|
|
|
|
for (int i = 0; i < data.Length; i++)
|
|
{
|
|
if (i >= MAX_ARRAY_SIZE)
|
|
{
|
|
stringBuffer.Append("...");
|
|
break;
|
|
}
|
|
if (i > 0)
|
|
{
|
|
stringBuffer.Append(',');
|
|
}
|
|
stringBuffer.Append('"').Append(data[i]).Append('"');
|
|
}
|
|
stringBuffer.Append('}');
|
|
}
|
|
|
|
public void print(String varName, char[] data, StringBuilder stringBuffer)
|
|
{
|
|
printArrayHeader("char", varName, data.Length, stringBuffer);
|
|
|
|
for (int i = 0; i < data.Length; i++)
|
|
{
|
|
if (i >= MAX_ARRAY_SIZE)
|
|
{
|
|
stringBuffer.Append("...");
|
|
break;
|
|
}
|
|
if (i > 0)
|
|
{
|
|
stringBuffer.Append(',');
|
|
}
|
|
stringBuffer.Append('\'').Append(data[i]).Append('\'');
|
|
}
|
|
stringBuffer.Append('}');
|
|
}
|
|
|
|
public void print(String varName, float[] data, StringBuilder stringBuffer)
|
|
{
|
|
printArrayHeader("float", varName, data.Length, stringBuffer);
|
|
|
|
for (int i = 0; i < data.Length; i++)
|
|
{
|
|
if (i >= MAX_ARRAY_SIZE)
|
|
{
|
|
stringBuffer.Append("...");
|
|
break;
|
|
}
|
|
if (i > 0)
|
|
{
|
|
stringBuffer.Append(',');
|
|
}
|
|
stringBuffer.Append(data[i]);
|
|
}
|
|
stringBuffer.Append('}');
|
|
}
|
|
|
|
public void print(String varName, double[] data, StringBuilder stringBuffer)
|
|
{
|
|
printArrayHeader("double", varName, data.Length, stringBuffer);
|
|
for (int i = 0; i < data.Length; i++)
|
|
{
|
|
if (i >= MAX_ARRAY_SIZE)
|
|
{
|
|
stringBuffer.Append("...");
|
|
break;
|
|
}
|
|
if (i > 0)
|
|
{
|
|
stringBuffer.Append(',');
|
|
}
|
|
stringBuffer.Append(data[i]);
|
|
}
|
|
stringBuffer.Append('}');
|
|
}
|
|
|
|
private void printArrayHeader(String type, String varName, int Length, StringBuilder stringBuffer)
|
|
{
|
|
typePrinter.print(type, stringBuffer);
|
|
if (varName != null && varName.Length != 0)
|
|
{
|
|
stringBuffer.Append(varName).Append(":");
|
|
}
|
|
stringBuffer.Append('[').Append(Length).Append("]{");
|
|
}
|
|
|
|
public void print(String varName, bool[] data, StringBuilder stringBuffer)
|
|
{
|
|
printArrayHeader("boolean", varName, data.Length, stringBuffer);
|
|
|
|
for (int i = 0; i < data.Length; i++)
|
|
{
|
|
if (i >= MAX_ARRAY_SIZE)
|
|
{
|
|
stringBuffer.Append("...");
|
|
break;
|
|
}
|
|
if (i > 0)
|
|
{
|
|
stringBuffer.Append(',');
|
|
}
|
|
stringBuffer.Append(data[i]);
|
|
}
|
|
stringBuffer.Append('}');
|
|
}
|
|
|
|
public void print(String varName, byte[] data, StringBuilder stringBuffer)
|
|
{
|
|
printArrayHeader("byte", varName, data.Length, stringBuffer);
|
|
|
|
for (int i = 0; i < data.Length; i++)
|
|
{
|
|
if (i >= MAX_ARRAY_SIZE)
|
|
{
|
|
stringBuffer.Append("...");
|
|
break;
|
|
}
|
|
if (i > 0)
|
|
{
|
|
stringBuffer.Append(',');
|
|
}
|
|
stringBuffer.Append(data[i]);
|
|
}
|
|
stringBuffer.Append('}');
|
|
}
|
|
|
|
public void print(String varName, short[] data, StringBuilder stringBuffer)
|
|
{
|
|
printArrayHeader("short", varName, data.Length, stringBuffer);
|
|
|
|
for (int i = 0; i < data.Length; i++)
|
|
{
|
|
if (i >= MAX_ARRAY_SIZE)
|
|
{
|
|
stringBuffer.Append("...");
|
|
break;
|
|
}
|
|
if (i > 0)
|
|
{
|
|
stringBuffer.Append(',');
|
|
}
|
|
stringBuffer.Append(data[i]);
|
|
}
|
|
stringBuffer.Append('}');
|
|
}
|
|
|
|
public void print(String varName, int[] data, StringBuilder stringBuffer)
|
|
{
|
|
printArrayHeader("int", varName, data.Length, stringBuffer);
|
|
|
|
for (int i = 0; i < data.Length; i++)
|
|
{
|
|
if (i >= MAX_ARRAY_SIZE)
|
|
{
|
|
stringBuffer.Append("...");
|
|
break;
|
|
}
|
|
if (i > 0)
|
|
{
|
|
stringBuffer.Append(',');
|
|
}
|
|
stringBuffer.Append(data[i]);
|
|
}
|
|
stringBuffer.Append('}');
|
|
}
|
|
|
|
private void printArrayValues(Object[] data, StringBuilder stringBuffer)
|
|
{
|
|
for (int i = 0; i < data.Length; i++)
|
|
{
|
|
if (i >= MAX_ARRAY_SIZE)
|
|
{
|
|
stringBuffer.Append("...");
|
|
break;
|
|
}
|
|
if (i > 0)
|
|
{
|
|
stringBuffer.Append(',');
|
|
}
|
|
stringBuffer.Append(data[i]);
|
|
}
|
|
stringBuffer.Append('}');
|
|
}
|
|
|
|
public void print(String varName, long[] data, StringBuilder stringBuffer)
|
|
{
|
|
printArrayHeader("long", varName, data.Length, stringBuffer);
|
|
|
|
for (int i = 0; i < data.Length; i++)
|
|
{
|
|
if (i >= MAX_ARRAY_SIZE)
|
|
{
|
|
stringBuffer.Append("...");
|
|
break;
|
|
}
|
|
if (i > 0)
|
|
{
|
|
stringBuffer.Append(',');
|
|
}
|
|
stringBuffer.Append(data[i]);
|
|
}
|
|
stringBuffer.Append('}');
|
|
}
|
|
|
|
public void print(String varName, StringBuilder[] data, StringBuilder stringBuffer)
|
|
{
|
|
printArrayHeader("StringBuffer", varName, data.Length, stringBuffer);
|
|
|
|
for (int i = 0; i < data.Length; i++)
|
|
{
|
|
if (i >= MAX_ARRAY_SIZE)
|
|
{
|
|
stringBuffer.Append("...");
|
|
break;
|
|
}
|
|
if (i > 0)
|
|
{
|
|
stringBuffer.Append(',');
|
|
}
|
|
stringBuffer.Append('"').Append(data[i].ToString()).Append('"');
|
|
}
|
|
stringBuffer.Append('}');
|
|
}
|
|
|
|
}
|
|
|
|
}
|