public static void AddManipulator(IValueManipulator valueManipulator) { lock (ValueManipulators) { ValueManipulators.Add(valueManipulator); } }
/// <summary> /// Set the property value into the passed entry object. /// </summary> /// <param name="entry"> /// The entry object. /// </param> /// <param name="value"> /// A new property value. /// </param> /// <seealso cref="IValueUpdater.Update"/> protected virtual void Set(IInvocableCacheEntry entry, object value) { IValueManipulator manipulator = m_manipulator; if (m_manipulator != null) { IValueUpdater updater = manipulator.Updater; if (updater != null) { entry.Update(updater, value); return; } } entry.SetValue(value, false); }
/// <summary> /// Get the property value from the passed entry object. /// </summary> /// <param name="entry"> /// The Entry object. /// </param> /// <returns> /// The property value. /// </returns> /// <seealso cref="IValueExtractor.Extract"/> protected virtual object Get(IInvocableCacheEntry entry) { IValueManipulator manipulator = m_manipulator; if (manipulator != null) { IValueExtractor extractor = manipulator.Extractor; if (extractor == null) { throw new InvalidOperationException("The IValueManipulator (" + manipulator + ") failed to provide an IValueExtractor"); } else { return(entry.Extract(extractor)); } } return(entry.Value); }
public void AddValueManipulator(IValueManipulator valueManipulator) { ValueCommandHelper.AddManipulator(valueManipulator); }