This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository nuiton-utils. See http://git.nuiton.org/nuiton-utils.git commit 8fa9bba37c6e07e942066a6bb618e6149d2ba0ed Author: Tony CHEMIT <chemit@codelutin.com> Date: Wed Aug 19 09:01:20 2015 +0200 Add a method *buildInverseModelBuilder* to create an new BinderBuilder from another builder switching exterma (fixes #3755) --- .../org/nuiton/util/beans/BinderModelBuilder.java | 23 ++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/main/java/org/nuiton/util/beans/BinderModelBuilder.java b/src/main/java/org/nuiton/util/beans/BinderModelBuilder.java index bdb0b2d..1964158 100644 --- a/src/main/java/org/nuiton/util/beans/BinderModelBuilder.java +++ b/src/main/java/org/nuiton/util/beans/BinderModelBuilder.java @@ -447,6 +447,29 @@ public class BinderModelBuilder<S, T> { return this; } + /** + * Creates a new model builder inversing the the source and target of this builder. + * + * the result build will contains the inversed properties mapping of the original builder. + * + * Other builder attributes are not used used + * + * @return the new model builder + */ + public BinderModelBuilder<T, S> buildInverseModelBuilder() { + + BinderModelBuilder<T, S> builder = new BinderModelBuilder<>(model.getTargetType(), model.getSourceType()) + .canTypeMismatch(canTypeMismatch); + + for (Map.Entry<String, String> entry : model.getPropertiesMapping().entrySet()) { + String sourcePropertyName = entry.getKey(); + String targetPropertyName = entry.getValue(); + builder.addProperty(targetPropertyName, sourcePropertyName); + } + return builder; + + } + protected BinderModelBuilder<S, T> addCollectionStrategy0(String propertyName, Binder.CollectionStrategy strategy, Binder binder) { -- To stop receiving notification emails like this one, please contact nuiton.org SCM administrator <admin+scm@nuiton.org>.