@@ -0,0 +1,1677 @@
+package org.jpos.ee.pm.core.monitor;%0A%0Aimport org.jpos.iso.ISOException;%0Aimport org.jpos.iso.ISOUtil;%0A%0Apublic class BasicObjectArrayFormatter extends MonitorFormatter %7B%0A%09%0A%09public String format(MonitorLine line)%7B%0A%09%09Object%5B%5D objects = (Object%5B%5D) line.getValue();%0A%09%09String%5B%5D pads = getConfig(%22pads%22, %22%22).split(%22#%22);%0A%09%09//%5B0,L,0,2%5D = %5Bcolumn , L or R pad direction , fill char , pad count%5D%0A%09%09StringBuilder sb = new StringBuilder();%0A%09%09for (int i = 0; i %3C objects.length; i++) %7B%0A%09%09%09Object object = objects%5Bi%5D;%0A%09%09%09String pad = getPad(pads, i);%0A%09%09%09if(pad == null)%7B%0A%09%09%09%09sb.append(object.toString());%0A%09%09%09%7Delse%7B%0A%09%09%09%09String%5B%5D ss = pad.split(%22,%22);%0A%09%09%09%09if(ss.length == 4)%7B%0A%09%09%09%09%09boolean left = (ss%5B1%5D.trim().compareTo(%22L%22)==0);%0A%09%09%09%09%09char fill = ss%5B2%5D.charAt(0);%0A%09%09%09%09%09int count = 0;%0A%09%09%09%09%09try %7Bcount = Integer.parseInt(ss%5B3%5D.trim());%7D catch (Exception e) %7B%7D%0A%09%09%09%09%09if(left)%7B%0A%09%09%09%09%09%09try %7B%0A%09%09%09%09%09%09%09sb.append(ISOUtil.padleft(object.toString(), count, fill));%0A%09%09%09%09%09%09%7D catch (ISOException e) %7B%0A%09%09%09%09%09%09%09sb.append(object.toString());%0A%09%09%09%09%09%09%7D%0A%09%09%09%09%09%7Delse%7B%0A%09%09%09%09%09%09try %7B%0A%09%09%09%09%09%09%09sb.append(ISOUtil.padright(object.toString(), count, fill));%0A%09%09%09%09%09%09%7D catch (ISOException e) %7B%0A%09%09%09%09%09%09%09sb.append(object.toString());%0A%09%09%09%09%09%09%7D%0A%09%09%09%09%09%7D%0A%09%09%09%09%7Delse%7B%0A%09%09%09%09%09sb.append(object.toString());%0A%09%09%09%09%7D%0A%09%09%09%7D%0A%09%09%09sb.append(getConfig(%22separator%22, %22 %22));%0A%09%09%7D%0A%09%09return sb.toString();%0A%09%7D%0A%0A%09private String getPad(String%5B%5D pads, int i) %7B%0A%09%09for (int j = 0; j %3C pads.length; j++) %7B%0A%09%09%09String pad = pads%5Bj%5D.trim();%0A%09%09%09pad = pad.replace('%5B', ' ').replace('%5D', ' ').trim();%0A%09%09%09String%5B%5D ss = pad.split(%22,%22);%0A%09%09%09if(ss.length == 4)%7B%0A%09%09%09%09try %7B%0A%09%09%09%09%09if(Integer.parseInt(ss%5B0%5D) == i)%0A%09%09%09%09%09%09return pad;%0A%09%09%09%09%7D catch (Exception e) %7B%7D%0A%09%09%09%7D%0A%09%09%7D%0A%09%09return null;%0A%09%7D%0A%7D

New formatter for an array of object that uses toString() function. It has 2 properties