/// <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); }
/// <summary> /// Process an <see cref="IInvocableCacheEntry"/>. /// </summary> /// <param name="entry"> /// The <b>IInvocableCacheEntry</b> to process. /// </param> /// <returns> /// The result of the processing, if any. /// </returns> public override object Process(IInvocableCacheEntry entry) { return(entry.Extract(m_extractor)); }