From 03e4b583f479a4cc330c399c050f0e5efc9f68b8 Mon Sep 17 00:00:00 2001 From: jsrobson10 Date: Tue, 24 Mar 2020 10:11:32 +1100 Subject: [PATCH] Fixed some issues with indenting --- src/bdf/types/BdfObject.java | 38 +++++++++++++++++++++--------------- src/tests/Tests.java | 2 +- 2 files changed, 23 insertions(+), 17 deletions(-) diff --git a/src/bdf/types/BdfObject.java b/src/bdf/types/BdfObject.java index 73784c1..cfc1c4b 100644 --- a/src/bdf/types/BdfObject.java +++ b/src/bdf/types/BdfObject.java @@ -49,7 +49,6 @@ public class BdfObject implements IBdfType private String calcIndent(BdfIndent indent, int it) { String t = ""; - t += indent.breaker; for(int i=0;i<=it;i++) { t += indent.indent; } @@ -81,63 +80,70 @@ public class BdfObject implements IBdfType if(type == BdfTypes.ARRAY_INTEGER) { String str = "(" + calcIndent(indent, it); for(int i : this.getIntegerArray()) { - str += Integer.toString(i) + "I, " + calcIndent(indent, it); + str += indent.breaker + calcIndent(indent, it) + Integer.toString(i) + "I, "; } - str = str.substring(0, str.length() - 2) + ")"; + str = str.substring(0, str.length() - 2); + str += indent.breaker + calcIndent(indent, it - 1) + ")"; return str; } if(type == BdfTypes.ARRAY_BOOLEAN) { - String str = "(" + calcIndent(indent, it); + String str = "("; for(boolean i : this.getBooleanArray()) { - str += (i ? "true" : "false") + ", " + calcIndent(indent, it); + str += indent.breaker + calcIndent(indent, it) + (i ? "true" : "false") + ", "; } - str = str.substring(0, str.length() - 2) + ")"; + str = str.substring(0, str.length() - 2); + str += indent.breaker + calcIndent(indent, it - 1) + ")"; return str; } if(type == BdfTypes.ARRAY_BYTE) { String str = "(" + calcIndent(indent, it); for(byte i : this.getByteArray()) { - str += Byte.toString(i) + "B, " + calcIndent(indent, it); + str += indent.breaker + calcIndent(indent, it) + Byte.toString(i) + "B, "; } - str = str.substring(0, str.length() - 2) + ")"; + str = str.substring(0, str.length() - 2); + str += indent.breaker + calcIndent(indent, it - 1) + ")"; return str; } if(type == BdfTypes.ARRAY_LONG) { String str = "(" + calcIndent(indent, it); for(long i : this.getLongArray()) { - str += Long.toString(i) + "L, " + calcIndent(indent, it); + str += indent.breaker + calcIndent(indent, it) + Long.toString(i) + "L, "; } - str = str.substring(0, str.length() - 2) + ")"; + str = str.substring(0, str.length() - 2); + str += indent.breaker + calcIndent(indent, it - 1) + ")"; return str; } if(type == BdfTypes.ARRAY_SHORT) { String str = "(" + calcIndent(indent, it); for(short i : this.getShortArray()) { - str += Short.toString(i) + "S, " + calcIndent(indent, it); + str += indent.breaker + calcIndent(indent, it) + Short.toString(i) + "S, "; } - str = str.substring(0, str.length() - 2) + ")"; + str = str.substring(0, str.length() - 2); + str += indent.breaker + calcIndent(indent, it - 1) + ")"; return str; } if(type == BdfTypes.ARRAY_DOUBLE) { String str = "(" + calcIndent(indent, it); for(double i : this.getDoubleArray()) { - str += Double.toString(i) + "D, " + calcIndent(indent, it); + str += indent.breaker + calcIndent(indent, it) + Double.toString(i) + "D, "; } - str = str.substring(0, str.length() - 2) + ")"; + str = str.substring(0, str.length() - 2); + str += indent.breaker + calcIndent(indent, it - 1) + ")"; return str; } if(type == BdfTypes.ARRAY_FLOAT) { String str = "(" + calcIndent(indent, it); for(float i : this.getFloatArray()) { - str += Float.toString(i) + "F, " + calcIndent(indent, it); + str += indent.breaker + calcIndent(indent, it) + Float.toString(i) + "F, "; } - str = str.substring(0, str.length() - 2) + ")"; + str = str.substring(0, str.length() - 2); + str += indent.breaker + calcIndent(indent, it - 1) + ")"; return str; } diff --git a/src/tests/Tests.java b/src/tests/Tests.java index 9879ab5..ada0ae0 100755 --- a/src/tests/Tests.java +++ b/src/tests/Tests.java @@ -30,7 +30,7 @@ public class Tests { nl.set("int_array", BdfObject.withIntegerArray(array)); nl.set("array", BdfObject.withArray(array_bdf)); - System.out.println(bdf.serializeHumanReadable(new BdfIndent(" ", "\n"))); + System.out.println(bdf.serializeHumanReadable(new BdfIndent("\t", "\n"))); bdf.saveDatabase(); }