coreRuntime/src/sc/sync/SyncManager.java
public boolean valueInvalidated(Object obj, Object prop, Object eventDetail, boolean apply) {
         String propName = PBindUtil.getPropertyName(prop);
         Object curValue = DynUtil.getPropertyValue(obj, propName);

         return ctx.valueInvalidated(obj, propName, curValue, syncGroup);
      }
/* This runs during the invalidate phase because we need the sync listener to run before other properties are changed as triggered by the firing of this property.  The sync listener can then order the changes in the way they happened. */
This runs during the invalidate phase because we need the sync listener to run before other properties are changed as triggered by the firing of this property.  The sync listener can then order the changes in the way they happened.
This runs during the invalidate phase because we need the sync listener to run before other properties are changed as triggered by the firing of this property . The sync listener can then order the changes in the way they happened .
public boolean valueInvalidated(Object obj, Object prop, Object eventDetail, boolean apply) {
         String propName = PBindUtil.getPropertyName(prop);
         Object curValue = DynUtil.getPropertyValue(obj, propName);
         return ctx.valueInvalidated(obj, propName, curValue, syncGroup);
      }
public boolean valueInvalidated ( Object obj , Object prop , Object eventDetail , boolean apply ) { String propName = PBindUtil . getPropertyName ( prop ) ; Object curValue = DynUtil . getPropertyValue ( obj , propName ) ; return ctx . valueInvalidated ( obj , propName , curValue , syncGroup ) ; }
This runs during the invalidate phase because we need the sync listener to run before other properties are changed as triggered by the firing of this property.
This runs during the invalidate phase because we need the sync listener to run before other properties are changed as triggered by the firing of this property .