@Override
public void setValue(Node node, Object value, Binding binding)
throws NodeManagerException {
+ updateValueInner(node, value, binding);
+ refreshVariable(node);
+ }
+
+ //Update the value of the node and remove from valueCache only the references nodes
+ public void setValueAndFireSelectedListeners(Node node, Object value, Binding binding, Set<Node> references) throws NodeManagerException {
+ if(references.size() > 0) {
+ for(Node n : references) {
+ valueCache.remove(n);
+ }
+ }
+ updateValueInner(node, value, binding);
+ fireNodeListenersSync();
+ }
+
+ //Update the value of the node helper method
+ private void updateValueInner(Node node, Object value, Binding binding) throws NodeManagerException {
checkThreadAccess();
Binding targetBinding = realm.getEngine().getEngineBinding(node);
if(binding.equals(targetBinding)) {
throw new NodeManagerException(e);
}
}
- refreshVariable(node);
}
@Override