static void printStringArray(PrintStream out, ArrayChar ma, Indent indent, ucar.nc2.util.CancelTask ct) { if (ct != null && ct.isCancel()) return; int rank = ma.getRank(); if (rank == 1) { out.print( " \""+ma.getString()+"\""); return; } if (rank == 2) { boolean first = true; for (ArrayChar.StringIterator iter = ma.getStringIterator(); iter.hasNext(); ) { if (!first) out.print(", "); out.print( "\""+iter.next()+"\""); first = false; if (ct != null && ct.isCancel()) return; } return; } int [] dims = ma.getShape(); int last = dims[0]; out.print("\n" + indent + "{"); indent.incr(); for(int ii = 0; ii < last; ii++) { ArrayChar slice = (ArrayChar) ma.slice(0, ii); printStringArray(out, slice, indent, ct); if(ii != last-1) out.print(","); if (ct != null && ct.isCancel()) return; } indent.decr(); out.print("\n"+indent + "}"); }
indent.incr(); for (int ii = 0; ii < last; ii++) { ArrayChar slice = (ArrayChar) ma.slice(0, ii); printStringArray(out, slice, indent, ct); if (ii != last - 1) out.print(",");
static void printStringArray(PrintStream out, ArrayChar ma, Indent indent, ucar.nc2.util.CancelTask ct) { if (ct != null && ct.isCancel()) return; int rank = ma.getRank(); if (rank == 1) { out.print( " \""+ma.getString()+"\""); return; } if (rank == 2) { boolean first = true; for (ArrayChar.StringIterator iter = ma.getStringIterator(); iter.hasNext(); ) { if (!first) out.print(", "); out.print( "\""+iter.next()+"\""); first = false; if (ct != null && ct.isCancel()) return; } return; } int [] dims = ma.getShape(); int last = dims[0]; out.print("\n" + indent + "{"); indent.incr(); for(int ii = 0; ii < last; ii++) { ArrayChar slice = (ArrayChar) ma.slice(0, ii); printStringArray(out, slice, indent, ct); if(ii != last-1) out.print(","); if (ct != null && ct.isCancel()) return; } indent.decr(); out.print("\n"+indent + "}"); }
indent.incr(); for (int ii = 0; ii < last; ii++) { ArrayChar slice = (ArrayChar) ma.slice(0, ii); printStringArray(out, slice, indent, ct); if (ii != last - 1) out.print(",");
indent.incr(); for (int ii = 0; ii < last; ii++) { ArrayChar slice = (ArrayChar) ma.slice(0, ii); if (ii > 0) out.print(","); printStringArray(out, slice, indent, ct);