From c783bc944fab1d67e791d13fe8ad2fd670e0de30 Mon Sep 17 00:00:00 2001 From: Fabienne Ducroquet Date: Thu, 22 Sep 2016 13:27:33 +0200 Subject: [PATCH] gs-reactor: Use Consumer for prefix/postfixBindings MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit At the moment, it’s only possible to add a prefix or postfix binding via the methods addPrefixBinding(Consumer consumer) addPostixBinding(Consumer consumer) so the HtmlDomNode parameter is never used. The HtmlDomNode can be accessed from within the consumer using the method getHtmlDomNode(Tag tag) from the Context class. --- .../genericsystem/reactor/HtmlDomNode.java | 10 +++--- .../java/org/genericsystem/reactor/Tag.java | 31 +++++++++---------- .../genericsystem/reactor/gs/GSTagImpl.java | 17 +++++----- 3 files changed, 28 insertions(+), 30 deletions(-) diff --git a/gs-reactor/src/main/java/org/genericsystem/reactor/HtmlDomNode.java b/gs-reactor/src/main/java/org/genericsystem/reactor/HtmlDomNode.java index 21f23ab80..71d3fe3a6 100644 --- a/gs-reactor/src/main/java/org/genericsystem/reactor/HtmlDomNode.java +++ b/gs-reactor/src/main/java/org/genericsystem/reactor/HtmlDomNode.java @@ -3,7 +3,7 @@ import java.util.HashMap; import java.util.IdentityHashMap; import java.util.Map; -import java.util.function.BiConsumer; +import java.util.function.Consumer; import org.genericsystem.defaults.tools.TransformationObservableList; import org.genericsystem.reactor.Tag.RootTag; @@ -94,8 +94,8 @@ protected void init(int index) { modelContext.register(this); if (parent != null) insertChild(index); - for (BiConsumer binding : tag.getPreFixedBindings()) - binding.accept(modelContext, this); + for (Consumer binding : tag.getPreFixedBindings()) + binding.accept(modelContext); for (Tag childTag : tag.getObservableChildren()) { MetaBinding metaBinding = childTag. getMetaBinding(); if (metaBinding != null) { @@ -110,8 +110,8 @@ protected void init(int index) { createChildDomNode(0, modelContext, childTag); } - for (BiConsumer binding : tag.getPostFixedBindings()) - binding.accept(modelContext, this); + for (Consumer binding : tag.getPostFixedBindings()) + binding.accept(modelContext); } public void createChildDomNode(int index, Context childContext, Tag childTag) { diff --git a/gs-reactor/src/main/java/org/genericsystem/reactor/Tag.java b/gs-reactor/src/main/java/org/genericsystem/reactor/Tag.java index 8014c7087..eeb49f165 100644 --- a/gs-reactor/src/main/java/org/genericsystem/reactor/Tag.java +++ b/gs-reactor/src/main/java/org/genericsystem/reactor/Tag.java @@ -1,7 +1,5 @@ package org.genericsystem.reactor; -import io.vertx.core.http.ServerWebSocket; - import java.io.Serializable; import java.util.Arrays; import java.util.List; @@ -11,16 +9,6 @@ import java.util.function.Consumer; import java.util.function.Function; -import javafx.beans.binding.ListBinding; -import javafx.beans.property.Property; -import javafx.beans.value.ChangeListener; -import javafx.beans.value.ObservableValue; -import javafx.collections.FXCollections; -import javafx.collections.MapChangeListener; -import javafx.collections.ObservableList; -import javafx.collections.ObservableMap; -import javafx.util.StringConverter; - import org.genericsystem.api.core.ApiStatics; import org.genericsystem.common.Generic; import org.genericsystem.defaults.tools.BindingsTools; @@ -36,6 +24,17 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import io.vertx.core.http.ServerWebSocket; +import javafx.beans.binding.ListBinding; +import javafx.beans.property.Property; +import javafx.beans.value.ChangeListener; +import javafx.beans.value.ObservableValue; +import javafx.collections.FXCollections; +import javafx.collections.MapChangeListener; +import javafx.collections.ObservableList; +import javafx.collections.ObservableMap; +import javafx.util.StringConverter; + /** * @author Nicolas Feybesse * @@ -47,9 +46,9 @@ public interface Tag extends TextPropertyDefaults, StylesDefaults, AttributesDef public String getTag(); - public List> getPreFixedBindings(); + public List> getPreFixedBindings(); - public List> getPostFixedBindings(); + public List> getPostFixedBindings(); public MetaBinding getMetaBinding(); @@ -57,12 +56,12 @@ public interface Tag extends TextPropertyDefaults, StylesDefaults, AttributesDef @Override default void addPrefixBinding(Consumer consumer) { - getPreFixedBindings().add((modelContext, node) -> consumer.accept(modelContext)); + getPreFixedBindings().add(consumer); } @Override default void addPostfixBinding(Consumer consumer) { - getPostFixedBindings().add((modelContext, node) -> consumer.accept(modelContext)); + getPostFixedBindings().add(consumer); } default void bindOptionalStyleClass(String styleClass, String propertyName) { diff --git a/gs-reactor/src/main/java/org/genericsystem/reactor/gs/GSTagImpl.java b/gs-reactor/src/main/java/org/genericsystem/reactor/gs/GSTagImpl.java index 0a8088333..a6f7aa4e6 100644 --- a/gs-reactor/src/main/java/org/genericsystem/reactor/gs/GSTagImpl.java +++ b/gs-reactor/src/main/java/org/genericsystem/reactor/gs/GSTagImpl.java @@ -2,22 +2,21 @@ import java.util.ArrayList; import java.util.List; -import java.util.function.BiConsumer; - -import javafx.collections.FXCollections; -import javafx.collections.ObservableList; +import java.util.function.Consumer; import org.genericsystem.reactor.Context; -import org.genericsystem.reactor.HtmlDomNode; import org.genericsystem.reactor.MetaBinding; import org.genericsystem.reactor.Tag; +import javafx.collections.FXCollections; +import javafx.collections.ObservableList; + public class GSTagImpl implements Tag { private final String tag; private MetaBinding metaBinding; - private final List> preFixedBindings = new ArrayList<>(); - private final List> postFixedBindings = new ArrayList<>(); + private final List> preFixedBindings = new ArrayList<>(); + private final List> postFixedBindings = new ArrayList<>(); private Tag parent; private final ObservableList children = FXCollections.observableArrayList(); @@ -47,12 +46,12 @@ public String getTag() { } @Override - public List> getPreFixedBindings() { + public List> getPreFixedBindings() { return preFixedBindings; } @Override - public List> getPostFixedBindings() { + public List> getPostFixedBindings() { return postFixedBindings; }