Skip to content

Instantly share code, notes, and snippets.

@muffik
Created December 3, 2018 07:20
Show Gist options
  • Save muffik/433d0bbce799858b66673fa1d1f6eb09 to your computer and use it in GitHub Desktop.
Save muffik/433d0bbce799858b66673fa1d1f6eb09 to your computer and use it in GitHub Desktop.
public class JoinBuilder {
private static final String EMPTY = "";
private final String separator;
private StringBuilder sb = new StringBuilder();
public JoinBuilder(String separator) {
if (separator == null || EMPTY.equals(separator)) {
separator = EMPTY;
}
this.separator = separator;
}
public JoinBuilder line(String... parts) {
if (parts != null && parts.length > 0) {
boolean needSeparator = true;
if (sb == null) {
sb = new StringBuilder();
needSeparator = false;
}
for (String s : parts) {
sb.append(s);
}
if (needSeparator && (separator != EMPTY)) {
sb.append(separator);
}
}
return this;
}
@Override
public String toString() {
if (sb == null) {
return EMPTY;
}
return sb.toString();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment