From a06debdae3e375d569dba8604ea47f8f84437946 Mon Sep 17 00:00:00 2001 From: Ziver Koc Date: Sat, 25 Apr 2015 15:22:23 +0000 Subject: [PATCH] Bug fixes --- src/zutil/parser/Templator.java | 39 ++++++++++++++++++--------------- 1 file changed, 21 insertions(+), 18 deletions(-) diff --git a/src/zutil/parser/Templator.java b/src/zutil/parser/Templator.java index 4332723..2353bdf 100644 --- a/src/zutil/parser/Templator.java +++ b/src/zutil/parser/Templator.java @@ -244,8 +244,6 @@ public class Templator { public void compile(StringBuilder str) { Object obj = attrib.getObject(); if(obj != null) { - Object prevObj = get("."); - set(".", obj); if(obj instanceof Boolean){ if ((Boolean) obj) @@ -255,27 +253,32 @@ public class Templator { if ((Integer) obj != 0) super.compile(str); } - else if(obj instanceof Iterable){ - for(Object o : (Iterable)obj){ // Iterate through the whole list - set(".", o); - super.compile(str); - } - } - else if (obj.getClass().isArray()) { - int length = Array.getLength(obj); - for (int i = 0; i < length; i ++) { - set(".", Array.get(obj, i)); - super.compile(str); + else if(obj instanceof Iterable || obj.getClass().isArray()) { + Object prevObj = get("."); + set(".", obj); + + if (obj instanceof Iterable) { + for (Object o : (Iterable) obj) { // Iterate through the whole list + set(".", o); + super.compile(str); + } + } else if (obj.getClass().isArray()) { + int length = Array.getLength(obj); + for (int i = 0; i < length; i++) { + set(".", Array.get(obj, i)); + super.compile(str); + } } + + // Reset map to parent object + if(prevObj != null) + set(".", prevObj); + else + remove("."); } else super.compile(str); - // Reset map to parent object - if(prevObj != null) - set(".", prevObj); - else - remove("."); } } }