Fixed Templator Super class issue

This commit is contained in:
Ziver Koc 2016-01-15 10:53:05 +01:00
parent 28a777faae
commit fdc8c8caf5
3 changed files with 15 additions and 1 deletions

BIN
Zutil.jar

Binary file not shown.

View file

@ -394,7 +394,7 @@ public class Templator {
else {
// Using a loop as the direct lookup throws a exception if no field was found
// So this is probably a bit faster
for (Field field : obj.getClass().getDeclaredFields()) { // Only look for public fields
for (Field field : obj.getClass().getFields()) { // Only look for public fields
if (field.getName().equals(attrib)) {
field.setAccessible(true);
return field.get(obj);

View file

@ -38,6 +38,9 @@ public class TemplatorTest {
class TestClass{
public String attr;
}
class TestSubClass extends TestClass{
public String subAttr;
}
class TestFuncClass{
public boolean isTrue(){
return true;
@ -287,4 +290,15 @@ public class TemplatorTest {
assertEquals(
"<HTML>super:sub1,sub2</HTML>", tmpl.compile());
}
@Test
public void subClassTest(){
Templator tmpl = new Templator("<HTML>{{test.attr}}:{{test.subAttr}}</HTML>");
TestSubClass obj = new TestSubClass();
obj.attr = "1234";
obj.subAttr = "5678";
tmpl.set("test", obj);
assertEquals("<HTML>1234:5678</HTML>", tmpl.compile());
}
}