public static String prettyPrintMessageWithLinesTabs(String message) { String[] groups; String[] records; CharBuf charBuf = CharBuf.create(255); groups = split(message, DELIMITER); int groupNumber = 0; int recordNumber = 0; for (String group : groups) { records = split(group, SUB_DELIM); if (records.length > 1) { recordNumber = 0; charBuf .add("\tgrp ") .add(Str.lpad("" + groupNumber, 3, ' ')) .add('\t') .add('\t') .add("start") .add('\n'); for (String record : records) { charBuf .add("\t\trec ") .add(Str.lpad("" + recordNumber, 3, ' ')) .add('\t') .add('\t') .add(record) .add('\n'); recordNumber++; } charBuf .add("\tgrp ") .add(Str.lpad("" + groupNumber, 3, ' ')) .add('\t') .add('\t') .add("stop") .add('\n'); } else { charBuf .add("\tgrp ") .add(Str.lpad("" + groupNumber, 3, ' ')) .add('\t') .add('\t') .add(group) .add('\n'); } groupNumber++; } return charBuf.toString(); }
public String doToString() { CharBuf builder = CharBuf.create(80); builder.add("c{"); builder.add("\"name\":'"); builder.add(String.valueOf(name)); builder.add(", \"operator\":"); builder.add(String.valueOf(operator)); builder.add(", \"set\":"); builder.add(String.valueOf(value)); builder.add(", \"update\":"); builder.add(Arrays.toString(values)); builder.add("}"); return builder.toString(); }
@Override public List<ITEM> findStartsWith(KEY keyFrag) { keyFrag = getKey(keyFrag); List<ITEM> results; if (keyFrag instanceof String) { String start = (String) keyFrag; if (start.length() == 0 || start == null) { return Collections.EMPTY_LIST; } char endLetter = start.charAt(start.length() - 1); String sub = start.substring(0, start.length() - 1); CharBuf after = CharBuf.create(start.length()); after.add(String.valueOf(sub)); after.add((char) (endLetter + 1)); NavigableMap<String, MultiValue<ITEM>> sortMap = (NavigableMap<String, MultiValue<ITEM>>) this.navigableMap; SortedMap<String, MultiValue<ITEM>> sortedSubMap = sortMap.subMap(start, after.toString()); if (sortedSubMap.size() > 0) { results = new ArrayList<>(); for (MultiValue<ITEM> values : sortedSubMap.values()) { values.addTo(results); } return results; } return Collections.EMPTY_LIST; } return Collections.EMPTY_LIST; }