package nodomain.freeyourgadget.gadgetbridge.util;
|
|
import org.apache.commons.lang3.builder.ToStringBuilder;
|
import org.apache.commons.lang3.builder.ToStringStyle;
|
|
import java.text.SimpleDateFormat;
|
import java.util.Date;
|
import java.util.Locale;
|
|
public class GBToStringBuilder extends ToStringBuilder {
|
public static final GBToStringStyle STYLE = new GBToStringStyle();
|
|
private static final SimpleDateFormat SDF = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS", Locale.US);
|
|
public GBToStringBuilder(final Object object) {
|
super(object, STYLE);
|
}
|
|
public static class GBToStringStyle extends ToStringStyle {
|
public GBToStringStyle() {
|
super();
|
|
this.setUseShortClassName(true);
|
this.setUseIdentityHashCode(false);
|
|
this.setContentStart("{");
|
this.setContentEnd("}");
|
|
this.setArrayStart("[");
|
this.setArrayEnd("]");
|
|
this.setFieldSeparator(", ");
|
this.setFieldNameValueSeparator("=");
|
|
this.setNullText("null");
|
}
|
|
@Override
|
public void append(final StringBuffer buffer, final String fieldName, final Object value, final Boolean fullDetail) {
|
// omit nulls
|
if (value != null) {
|
if (value instanceof Date) {
|
super.append(buffer, fieldName, SDF.format(value), fullDetail);
|
} else {
|
super.append(buffer, fieldName, value, fullDetail);
|
}
|
}
|
}
|
}
|
}
|