From 67e4d54fdecec6ac3072ceb601f89403fa5f03b4 Mon Sep 17 00:00:00 2001 From: Ziver Koc Date: Mon, 16 Nov 2015 17:49:10 +0100 Subject: [PATCH] Made Configurator support generics --- src/zutil/db/bean/Configurator.java | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) mode change 100644 => 100755 src/zutil/db/bean/Configurator.java diff --git a/src/zutil/db/bean/Configurator.java b/src/zutil/db/bean/Configurator.java old mode 100644 new mode 100755 index d696b59..0ea3b9a --- a/src/zutil/db/bean/Configurator.java +++ b/src/zutil/db/bean/Configurator.java @@ -41,10 +41,9 @@ import java.util.logging.Logger; /** * Created by Ziver */ -public class Configurator { +public class Configurator { private static final Logger log = LogUtil.getLogger(); - /** * Sets a field in a class as externally configurable. */ @@ -65,14 +64,18 @@ public class Configurator { private static HashMap classConf = new HashMap<>(); - private Object obj; + private T obj; private ConfigurationParam[] params; - public Configurator(Object obj){ + public Configurator(T obj){ this.obj = obj; this.params = getConfiguration(obj.getClass(), obj); } + public T getObject(){ + return obj; + } + public ConfigurationParam[] getConfiguration(){ return params; } @@ -102,10 +105,10 @@ public class Configurator { return list; } - public void setConfiguration(){ + public void applyConfiguration(){ for(ConfigurationParam param : params){ try { - param.set(); + param.apply(); } catch (IllegalAccessException e) { log.log(Level.WARNING, null, e); } @@ -166,7 +169,7 @@ public class Configurator { /** * This method will set a value for the represented field, * to apply the change to the source object the method - * {@link #setConfiguration()} needs to be called + * {@link #applyConfiguration()} needs to be called */ public void setValue(String v){ if(obj == null) @@ -181,7 +184,7 @@ public class Configurator { } } - protected void set() throws IllegalAccessException { + protected void apply() throws IllegalAccessException { field.set(obj, value); }