package core.aws.util;
/**
* @author neo
*/
public final class ToStringHelper {
StringBuilder builder;
boolean first = true;
public ToStringHelper(Object object) {
builder = new StringBuilder(32).append(object.getClass().getSimpleName()).append('{');
}
public ToStringHelper add(String field, Object value) {
return add(field + '=' + value);
}
public ToStringHelper add(Object value) {
if (!first) builder.append(", ");
builder.append(value);
first = false;
return this;
}
public ToStringHelper addIfNotNull(Object value) {
if (value != null) add(value);
return this;
}
public ToStringHelper addIfNotNull(String field, Object value) {
if (value != null) add(field, value);
return this;
}
@Override
public String toString() {
String result = builder.append('}').toString();
builder = null; // one ToStringHelper can only be used once
return result;
}
}