InMemoryTargetDictionary Class

This contains a collection of targets indexed by member ID stored in a simple ConcurrentDictionary<TKey, TValue> entirely in memory.

Definition

Namespace: Sandcastle.Tools.BuildComponents.Targets
Assembly: Sandcastle.Tools.BuildComponents (in Sandcastle.Tools.BuildComponents.dll) Version: 2025.3.22.0
[SerializableAttribute]
public sealed class InMemoryTargetDictionary : TargetDictionary
Inheritance
Object    TargetDictionary    InMemoryTargetDictionary

Remarks

The behavior of this dictionary is to return null if a target ID is not found and to replace existing entries if a duplicate ID is added. All targets are stored in memory. Since it must load all targets the first time the files are encountered, it can slow down initialization. The trade off is that it can run faster than database-backed implementations that look up the items rather than storing them in memory.

This implementation does not offer the option for a persistent cache as streaming the entire dictionary in and out takes several times longer than just loading the source XML data.

Constructors

Properties

BuildComponent This read-only property returns the build component that owns the target dictionary
(Inherited from TargetDictionary)
CountGets the number of elements contained in the ICollection<T>.
(Overrides TargetDictionary.Count)
DictionaryId This is used to get or set the target dictionary's unique ID
(Inherited from TargetDictionary)
DirectoryPath This is used to get or set the path to the target files
(Inherited from TargetDictionary)
FilePattern This is used to get or set the file pattern to use when searching for target files
(Inherited from TargetDictionary)
IsDisposed This read-only property can be used to determine whether or not the target dictionary has been disposed.
(Inherited from TargetDictionary)
IsReadOnlyGets a value indicating whether the ICollection<T> is read-only.
(Inherited from TargetDictionary)
ItemGets or sets the element with the specified key.
(Overrides TargetDictionary.Item[String])
KeysGets an ICollection<T> containing the keys of the IDictionary<TKey, TValue>.
(Overrides TargetDictionary.Keys)
NamespaceFileFilter This read-only property returns any optional namespace files used to filter what gets loaded
(Inherited from TargetDictionary)
Recurse This is used to get or set whether to recurse into subfolders of DirectoryPath when loading target files.
(Inherited from TargetDictionary)
ValuesGets an ICollection<T> containing the values in the IDictionary<TKey, TValue>.
(Overrides TargetDictionary.Values)

Methods

Add(KeyValuePair<String, Target>)Adds an item to the ICollection<T>.
(Overrides TargetDictionary.Add(KeyValuePair<String, Target>))
Add(String, Target)Adds an element with the provided key and value to the IDictionary<TKey, TValue>.
(Overrides TargetDictionary.Add(String, Target))
ClearRemoves all items from the ICollection<T>.
(Overrides TargetDictionary.Clear())
ContainsDetermines whether the ICollection<T> contains a specific value.
(Overrides TargetDictionary.Contains(KeyValuePair<String, Target>))
ContainsKeyDetermines whether the IDictionary<TKey, TValue> contains an element with the specified key.
(Overrides TargetDictionary.ContainsKey(String))
CopyToCopies the elements of the ICollection<T> to an Array, starting at a particular Array index.
(Overrides TargetDictionary.CopyTo(KeyValuePair<String, Target>[], Int32))
Dispose() This implements the Dispose() interface to properly dispose of the target dictionary
(Inherited from TargetDictionary)
EqualsDetermines whether the specified object is equal to the current object.
(Inherited from Object)
GetEnumeratorReturns an enumerator that iterates through the collection.
(Overrides TargetDictionary.GetEnumerator())
GetHashCodeServes as the default hash function.
(Inherited from Object)
GetTypeGets the Type of the current instance.
(Inherited from Object)
Remove(KeyValuePair<String, Target>)Removes the first occurrence of a specific object from the ICollection<T>.
(Inherited from TargetDictionary)
Remove(String)Removes the element with the specified key from the IDictionary<TKey, TValue>.
(Inherited from TargetDictionary)
ReportCacheStatistics This can be overridden in derived classes to report cache usage statistics after the build
(Inherited from TargetDictionary)
ToStringReturns a string that represents the current object.
(Inherited from Object)
TryGetValueGets the value associated with the specified key.
(Overrides TargetDictionary.TryGetValue(String, Target))

See Also