public void test1() { TestState state = mList.get(1).getDataMediator().getDataProxy(); state.setState(FOCUS_VALUE); System.out.println(mList.get(0).getDataMediator().getData().getState()); assert mList.get(0).getDataMediator().getData().getState() == OPPISITE_VALUE; mList.get(2).getDataMediator().getData().setState(FOCUS_VALUE); state = mList.get(0).getDataMediator().getDataProxy(); state.setState(FOCUS_VALUE); assert mList.get(1).getDataMediator().getData().getState() == OPPISITE_VALUE; assert mList.get(2).getDataMediator().getData().getState() == OPPISITE_VALUE; } }
/** * attach internal data-mediator-callback to target delegate * @param delegate mediator delegate * @param strict true if attach strictly * @return true if attach success. always return true if strict is false. */ public boolean attach(MediatorDelegate<T> delegate, boolean strict){ if(!strict){ delegate.getDataMediator().addDataMediatorCallback(mCallback); return true; }else { if (mState.containsMediatorDelegate(delegate)) { delegate.getDataMediator().addDataMediatorCallback(mCallback); return true; } } return false; } /**
/** * attach internal data-mediator-callback to target delegate * @param delegate mediator delegate * @param strict true if attach strictly * @return true if attach success. always return true if strict is false. */ public boolean attach(MediatorDelegate<T> delegate, boolean strict){ if(!strict){ delegate.getDataMediator().addDataMediatorCallback(mCallback); return true; }else { if (mState.containsMediatorDelegate(delegate)) { delegate.getDataMediator().addDataMediatorCallback(mCallback); return true; } } return false; } /**
/** * detach internal data-mediator-callback to target delegate * @param delegate mediator delegate * @param strict true if detach strictly * @return true if detach success. always return true if strict is false. */ public boolean detach(MediatorDelegate<T> delegate, boolean strict){ if(!strict){ delegate.getDataMediator().removeDataMediatorCallback(mCallback); return true; }else { if (mState.containsMediatorDelegate(delegate)) { delegate.getDataMediator().removeDataMediatorCallback(mCallback); return true; } } return false; }
/** * detach internal data-mediator-callback to target delegate * @param delegate mediator delegate * @param strict true if detach strictly * @return true if detach success. always return true if strict is false. */ public boolean detach(MediatorDelegate<T> delegate, boolean strict){ if(!strict){ delegate.getDataMediator().removeDataMediatorCallback(mCallback); return true; }else { if (mState.containsMediatorDelegate(delegate)) { delegate.getDataMediator().removeDataMediatorCallback(mCallback); return true; } } return false; }
private void setMutexValue(GroupProperty target, MediatorDelegate<T> md) { DataMediator<T> mediator = md.getDataMediator(); //before mutex we should just remove this callback for reduce unnecessary callback. mediator.removeDataMediatorCallback(mCallback); T proxy = mediator.getDataProxy(); Object value = ReflectUtils.getValue(target.prop, proxy); setMutexValue0(target, proxy, value); //restore mediator.addDataMediatorCallback(mCallback); }
private T getItem0(Property prop, Object val, boolean asProxy, MediatorDelegate<T> md) { T proxy = md.getDataMediator().getDataProxy(); Object obj = ReflectUtils.getValue(prop, proxy); if (val == null) { if (obj == null) { return asProxy ? proxy : md.getDataMediator().getData(); } } else if (val.equals(obj)) { return asProxy ? proxy : md.getDataMediator().getData(); } return null; }
public void test1() { TestState state = mList.get(1).getDataMediator().getDataProxy(); state.setState(FOCUS_VALUE); System.out.println(mList.get(0).getDataMediator().getData().getState()); assert mList.get(0).getDataMediator().getData().getState() == OPPISITE_VALUE; mList.get(2).getDataMediator().getData().setState(FOCUS_VALUE); state = mList.get(0).getDataMediator().getDataProxy(); state.setState(FOCUS_VALUE); assert mList.get(1).getDataMediator().getData().getState() == OPPISITE_VALUE; assert mList.get(2).getDataMediator().getData().getState() == OPPISITE_VALUE; } }
private T getItem0(Property prop, Object val, boolean asProxy, MediatorDelegate<T> md) { T proxy = md.getDataMediator().getDataProxy(); Object obj = ReflectUtils.getValue(prop, proxy); if (val == null) { if (obj == null) { return asProxy ? proxy : md.getDataMediator().getData(); } } else if (val.equals(obj)) { return asProxy ? proxy : md.getDataMediator().getData(); } return null; }
private void setMutexValue(GroupProperty target, MediatorDelegate<T> md) { DataMediator<T> mediator = md.getDataMediator(); //before mutex we should just remove this callback for reduce unnecessary callback. mediator.removeDataMediatorCallback(mCallback); T proxy = mediator.getDataProxy(); Object value = ReflectUtils.getValue(target.prop, proxy); setMutexValue0(target, proxy, value); //restore mediator.addDataMediatorCallback(mCallback); }