X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=system%2Fgeneral%2Fsrc%2Fmain%2Fjava%2Forg%2Fwamblee%2Fsystem%2Fadapters%2FSetterConfiguration.java;h=649e008fae1f7f1ff0f17eff1b0c3923cd906db9;hb=d4f4682056f4fdf0c74a174cd636f278423f6883;hp=b2ab5f6d7044745182393717b2809d3a5b5c018b;hpb=523a5104d8bd27d75fd3ce882a946bebd3e570a9;p=utils diff --git a/system/general/src/main/java/org/wamblee/system/adapters/SetterConfiguration.java b/system/general/src/main/java/org/wamblee/system/adapters/SetterConfiguration.java index b2ab5f6d..649e008f 100644 --- a/system/general/src/main/java/org/wamblee/system/adapters/SetterConfiguration.java +++ b/system/general/src/main/java/org/wamblee/system/adapters/SetterConfiguration.java @@ -52,7 +52,7 @@ public class SetterConfiguration { private Map _setters; /** - * Constructs the setter configuration. By default all setters are added. + * Constructs the setter configuration. By default no setters are added. * * @param aClass * Class which is being configured. @@ -60,27 +60,30 @@ public class SetterConfiguration { public SetterConfiguration(Class aClass) { _class = aClass; _publicOnly = true; - initSetters(); + _setters = new HashMap(); } - private void initSetters() { - _setters = new HashMap(); + /** + * Makes sure that all available setters are used. + */ + public SetterConfiguration initAllSetters() { + _setters.clear(); for (Method method: getAllSetters(_class, _publicOnly) ) { _setters.put(method, createParameterValues(method)); } + return this; } /** * Called to set whether non-public setters are also used. By default only - * public setters are used. This resets all changes made and selects all - * public setters if non-public is false and all setters if it is true. + * public setters are used. The currently selected setters remain chosen. * * @param aIsNonPublic * Non public flag. */ - public void setNonPublic(boolean aIsNonPublic) { + public SetterConfiguration setNonPublic(boolean aIsNonPublic) { _publicOnly = !aIsNonPublic; - initSetters(); + return this; } /** @@ -201,7 +204,7 @@ public class SetterConfiguration { * * @return List of all setters. */ - private static List getAllSetters(Class aClass, + public static List getAllSetters(Class aClass, boolean aPublicOnly) { List result = new ArrayList(); for (Method method : getAllMethods(aClass)) {