public MultimapJoiner skipNulls() { return new MultimapJoiner(entryJoiner.skipNulls(), separator, keyValueSeparator); }
protected void appendListMapContent(/* @Nullable */ Map<?, ? extends Collection<?>> map, String prefix, StringBuilder result, String indentation) { if (map != null) { MultimapJoiner joiner = new MultimapJoiner( Joiner.on("\n " + indentation), "\n " + indentation, " ->\n" + indentation + " "); result.append("\n").append(indentation).append(prefix).append(":\n").append(indentation).append(" "); joiner.appendTo(result, map); } }
/** * Returns a multimap joiner with the same behavior as this one, except automatically substituting {@code nullText} for * any provided null keys or values. */ public MultimapJoiner useForNull(final String nullText) { return new MultimapJoiner(entryJoiner.useForNull(nullText), separator, keyValueSeparator) { @Override protected CharSequence toString(Object part) { return (part == null) ? nullText : MultimapJoiner.this.toString(part); } @Override public MultimapJoiner useForNull(String nullText) { throw new UnsupportedOperationException("already specified useForNull"); } @Override public MultimapJoiner skipNulls() { throw new UnsupportedOperationException("already specified useForNull"); } }; } }