/** * create data mediator callback for Sparse by target callback and property. * @param propertyName the property * @param callback the callback * @param <T> the data module type * @return the data mediator callback. * @see com.heaven7.java.base.util.SparseArray * @since 1.4.4 */ public static <T> DataMediatorCallback<T> createForSparse(String propertyName, SparseArrayPropertyCallback2<? super T> callback) { Throwables.checkNull(propertyName); Throwables.checkNull(callback); return new WrappedSparseArrayCallback<T>(propertyName, callback) { @Override protected void onPreCallback(SparseArrayPropertyCallback<? super T> mSAPC) { SparseArrayPropertyCallback2<? super T> callback = (SparseArrayPropertyCallback2<? super T>) mSAPC; callback.onPreCallback(getParams()); } @Override protected void onPostCallback(SparseArrayPropertyCallback<? super T> mSAPC) { SparseArrayPropertyCallback2<? super T> callback = (SparseArrayPropertyCallback2<? super T>) mSAPC; callback.onPostCallback(); } }; }
@Override public void onClearEntries(T data, Property prop, Object newMap) { if (allow(prop)) { onPreCallback(mSAPC); mSAPC.onClearEntries(data, prop, newMap); onPostCallback(mSAPC); } }
/** * create data mediator callback for Sparse by target callback and property. * @param propertyName the property * @param callback the callback * @param <T> the data module type * @return the data mediator callback. * @see com.heaven7.java.base.util.SparseArray * @since 1.4.4 */ public static <T> DataMediatorCallback<T> createForSparse(String propertyName, SparseArrayPropertyCallback2<? super T> callback) { Throwables.checkNull(propertyName); Throwables.checkNull(callback); return new WrappedSparseArrayCallback<T>(propertyName, callback) { @Override protected void onPreCallback(SparseArrayPropertyCallback<? super T> mSAPC) { SparseArrayPropertyCallback2<? super T> callback = (SparseArrayPropertyCallback2<? super T>) mSAPC; callback.onPreCallback(getParams()); } @Override protected void onPostCallback(SparseArrayPropertyCallback<? super T> mSAPC) { SparseArrayPropertyCallback2<? super T> callback = (SparseArrayPropertyCallback2<? super T>) mSAPC; callback.onPostCallback(); } }; }
/** * create data mediator callback for Sparse by target callback and property. * @param propertyName the property * @param callback the callback * @param <T> the data module type * @return the data mediator callback. * @see com.heaven7.java.base.util.SparseArray * @since 1.1.3 */ public static <T> DataMediatorCallback<T> createForSparse(String propertyName, SparseArrayPropertyCallback<? super T> callback) { Throwables.checkNull(propertyName); Throwables.checkNull(callback); return new WrappedSparseArrayCallback<T>(propertyName, callback); }
/** * create data mediator callback for Sparse by target callback and property. * @param propertyName the property * @param callback the callback * @param <T> the data module type * @return the data mediator callback. * @see com.heaven7.java.base.util.SparseArray * @since 1.1.3 */ public static <T> DataMediatorCallback<T> createForSparse(String propertyName, SparseArrayPropertyCallback<? super T> callback) { Throwables.checkNull(propertyName); Throwables.checkNull(callback); return new WrappedSparseArrayCallback<T>(propertyName, callback); }
@Override public void onRemoveEntry(T data, Property prop, Integer key, Object value) { if (allow(prop)) { onPreCallback(mSAPC); mSAPC.onRemoveEntry(data, prop, key, value); onPostCallback(mSAPC); } }
@Override public void onClearEntries(T data, Property prop, Object newMap) { if (allow(prop)) { onPreCallback(mSAPC); mSAPC.onClearEntries(data, prop, newMap); onPostCallback(mSAPC); } }
@Override public void onAddEntry(T data, Property prop, Integer key, Object value) { if (allow(prop)) { onPreCallback(mSAPC); mSAPC.onAddEntry(data, prop, key, value); onPostCallback(mSAPC); } }
@Override public void onPropertyApplied(T data, Property prop, Object value) { if (allow(prop)) { onPreCallback(mSAPC); mSAPC.onPropertyApplied(data, prop, value); onPostCallback(mSAPC); } }
@Override public void onAddEntry(T data, Property prop, Integer key, Object value) { if (allow(prop)) { onPreCallback(mSAPC); mSAPC.onAddEntry(data, prop, key, value); onPostCallback(mSAPC); } }
@Override public void onRemoveEntry(T data, Property prop, Integer key, Object value) { if (allow(prop)) { onPreCallback(mSAPC); mSAPC.onRemoveEntry(data, prop, key, value); onPostCallback(mSAPC); } }
@Override public void onEntryValueChanged(T data, Property prop, Integer key, Object oldValue, Object newValue) { if (allow(prop)) { onPreCallback(mSAPC); mSAPC.onEntryValueChanged(data, prop, key, oldValue, newValue); onPostCallback(mSAPC); } }
@Override public void onPropertyApplied(T data, Property prop, Object value) { if (allow(prop)) { onPreCallback(mSAPC); mSAPC.onPropertyApplied(data, prop, value); onPostCallback(mSAPC); } }
@Override public void onPropertyValueChanged(T data, Property prop, Object oldValue, Object newValue) { if (allow(prop)) { onPreCallback(mSAPC); mSAPC.onPropertyValueChanged(data, prop, oldValue, newValue); onPostCallback(mSAPC); } }
@Override public void onPropertyValueChanged(T data, Property prop, Object oldValue, Object newValue) { if (allow(prop)) { onPreCallback(mSAPC); mSAPC.onPropertyValueChanged(data, prop, oldValue, newValue); onPostCallback(mSAPC); } }
@Override public void onEntryValueChanged(T data, Property prop, Integer key, Object oldValue, Object newValue) { if (allow(prop)) { onPreCallback(mSAPC); mSAPC.onEntryValueChanged(data, prop, key, oldValue, newValue); onPostCallback(mSAPC); } }