protected void postInit() { if (modelToTarget.getUpdatePolicy() == UpdateSetStrategy.POLICY_UPDATE) { updateModelToTarget(); } if (targetToModel.getUpdatePolicy() == UpdateSetStrategy.POLICY_UPDATE) { validateTargetToModel(); } }
targetToModel.fillDefaults(targetObservableSet, modelObservableSet); modelToTarget.fillDefaults(modelObservableSet, targetObservableSet); SetBinding<? super M, ? extends T> result = new SetBinding<>(targetObservableSet, modelObservableSet, targetToModel, modelToTarget); result.init(this); return result;
@Override protected void postInit() { if (modelToTarget.getUpdatePolicy() == UpdateSetStrategy.POLICY_UPDATE) { model.getRealm().exec(() -> { model.addSetChangeListener(modelChangeListener); updateModelToTarget(); }); } else { modelChangeListener = null; } if (targetToModel.getUpdatePolicy() == UpdateSetStrategy.POLICY_UPDATE) { target.getRealm().exec(() -> { target.addSetChangeListener(targetChangeListener); if (modelToTarget.getUpdatePolicy() == UpdateSetStrategy.POLICY_NEVER) { // we have to sync from target to model, if the other // way round (model to target) is forbidden (POLICY_NEVER) updateTargetToModel(); } else { validateTargetToModel(); } }); } else { targetChangeListener = null; } }
@Override public void run() { if (destination == getTarget()) { updatingTarget = true; } else { updateSetStrategy.convert(iterator.next())); mergeStatus(multiStatus, setterStatus); updateSetStrategy.convert(iterator.next())); mergeStatus(multiStatus, setterStatus); setValidationStatus(multiStatus); if (destination == getTarget()) { updatingTarget = false; } else {
IStatus setterStatus1 = updateSetStrategy.doRemove(destination, updateSetStrategy.convert(element)); mergeStatus(multiStatus, setterStatus1); IStatus setterStatus2 = updateSetStrategy.doAdd(destination, updateSetStrategy.convert(element)); mergeStatus(multiStatus, setterStatus2); setValidationStatus(multiStatus);
public void run() { SetDiff diff = Diffs.computeSetDiff(Collections.EMPTY_SET, modelSet); doUpdate(modelSet, (IObservableSet) getTarget(), diff, modelToTarget, true, true); } });
@Override public void run() { SetDiff diff = Diffs.computeSetDiff(Collections.EMPTY_SET, targetSet); doUpdate(targetSet, (IObservableSet) getModel(), diff, targetToModel, true, true); } });
@Override public void updateModelToTarget() { model.getRealm().exec(() -> { SetDiff<M> diff = Diffs.computeSetDiff(Collections.emptySet(), model); doUpdate(model, target, diff, modelToTarget, true, true); }); }
targetToModel.fillDefaults(targetObservableSet, modelObservableSet); modelToTarget.fillDefaults(modelObservableSet, targetObservableSet); SetBinding result = new SetBinding(targetObservableSet, modelObservableSet, targetToModel, modelToTarget); result.init(this); return result;
public void run() { if (destination == getTarget()) { updatingTarget = true; } else { .next())); mergeStatus(multiStatus, setterStatus); .next())); mergeStatus(multiStatus, setterStatus); validationStatusObservable.setValue(multiStatus); if (destination == getTarget()) { updatingTarget = false; } else {
@Override public void run() { SetDiff diff = Diffs.computeSetDiff(Collections.EMPTY_SET, modelSet); doUpdate(modelSet, (IObservableSet) getTarget(), diff, modelToTarget, true, true); } });
public void run() { SetDiff diff = Diffs.computeSetDiff(Collections.EMPTY_SET, targetSet); doUpdate(targetSet, (IObservableSet) getModel(), diff, targetToModel, true, true); } });
@Override public void updateTargetToModel() { target.getRealm().exec(() -> { SetDiff<T> diff = Diffs.computeSetDiff(Collections.emptySet(), target); doUpdate(target, model, diff, targetToModel, true, true); }); }
targetToModel.fillDefaults(targetObservableSet, modelObservableSet); modelToTarget.fillDefaults(modelObservableSet, targetObservableSet); SetBinding result = new SetBinding(targetObservableSet, modelObservableSet, targetToModel, modelToTarget); result.init(this); return result;
@Override protected void postInit() { if (modelToTarget.getUpdatePolicy() == UpdateSetStrategy.POLICY_UPDATE) { updateModelToTarget(); } if (targetToModel.getUpdatePolicy() == UpdateSetStrategy.POLICY_UPDATE) { validateTargetToModel(); } }
@Override public void updateTargetToModel() { final IObservableSet targetSet = (IObservableSet) getTarget(); targetSet.getRealm().exec(new Runnable() { @Override public void run() { SetDiff diff = Diffs.computeSetDiff(Collections.EMPTY_SET, targetSet); doUpdate(targetSet, (IObservableSet) getModel(), diff, targetToModel, true, true); } }); }
public void updateModelToTarget() { final IObservableSet modelSet = (IObservableSet) getModel(); modelSet.getRealm().exec(new Runnable() { public void run() { SetDiff diff = Diffs.computeSetDiff(Collections.EMPTY_SET, modelSet); doUpdate(modelSet, (IObservableSet) getTarget(), diff, modelToTarget, true, true); } }); }