package si.ijs.acs.objectexplorer.engine; import alma.acs.gui.util.DataFormatter; public class DataElementFormatter { public static String unpackArray(Object array, String lineStart, int level, boolean expand) { StringBuffer result=new StringBuffer(); Class<?> type=array.getClass().getComponentType(); Object[] list = null; if (type.isPrimitive()) list = DataFormatter.convertPrimitiveArray(array); else list = (Object[]) array; result.append("[Array of "+ type+"], length = "+list.length); for (int i = 0; i < list.length; i++){ if(list[i].getClass().isArray()) result.append("\n"+lineStart+" ("+i+") "+unpackArray(list[i],lineStart+" ",level+1,expand)); if(list[i] instanceof DataElement) result.append("\n"+lineStart+" ("+i+") "+((DataElement)list[i]).toString(lineStart+" ",level+1,expand)); else result.append("\n"+lineStart+" ("+i+") "+DataFormatter.unpackReturnValue(list[i],lineStart+" ",level+1,expand)); } result.append("\n"); return result.toString(); } }