FilteredDocumentList<TDocument> Class
A filtered list of documents that also implements IDocumentPathTree<TDocument> so that the resulting documents can be easily traversed as a tree structure.
Namespace
Statiq.Common
Interfaces
Base Types
graph BT Type-->Base0["DocumentList<TDocument>"] Base0-->Base1["object"] Type-.->Interface0["IReadOnlyList<TDocument>"] Type-.->Interface1["IReadOnlyCollection<TDocument>"] Type-.->Interface2["IEnumerable<TDocument>"] Type-.->Interface3["IEnumerable"] Type-.->Interface4["IDocumentPathTree<TDocument>"] Type-.->Interface5["IDocumentTree<TDocument>"] Type["FilteredDocumentList<TDocument>"] class Type type-node

Syntax

public class FilteredDocumentList<TDocument> : DocumentList<TDocument>, IReadOnlyList<TDocument>, 
    IReadOnlyCollection<TDocument>, IEnumerable<TDocument>, IEnumerable, 
    IDocumentPathTree<TDocument>, IDocumentTree<TDocument>
    where TDocument : IDocument

Type Parameters

Name Description
TDocument The document type the list contains.

Properties

Name Property Type Summary
this[string[]] FilteredDocumentList<TDocument>

Methods

Extension Methods

Name Value Summary
AsDestinationTree<TDocument>() DocumentPathTree<TDocument>
AsMetadataTree<TDocument>(string) DocumentMetadataTree<TDocument>
AsSourceTree<TDocument>() DocumentPathTree<TDocument>
Concat<TDocument>(TDocument) IEnumerable<T>
Contains<TDocument>(IReadOnlyList<TDocument>, EqualityComparer<TDocument>) bool
Contains<TDocument>(IReadOnlyList<TDocument>, int, EqualityComparer<TDocument>) bool
Contains<TDocument>(IReadOnlyList<TDocument>, int) bool
Contains<TDocument>(IReadOnlyList<TDocument>) bool
FilterDestinations<TDocument>(IEnumerable<string>, bool, string) FilteredDocumentList<TDocument>
Filters the documents by destination.
FilterDestinations<TDocument>(string[]) FilteredDocumentList<TDocument>
Filters the documents by destination.
FilterSources<TDocument>(IEnumerable<string>, bool, string) FilteredDocumentList<TDocument>
Filters the documents by source.
FilterSources<TDocument>(string[]) FilteredDocumentList<TDocument>
Filters the documents by source.
FirstOrDefaultDestination<TDocument>(IEnumerable<string>, bool, string) TDocument
FirstOrDefaultDestination<TDocument>(string[]) TDocument
FirstOrDefaultSource<TDocument>(IEnumerable<string>, bool, string) TDocument
FirstOrDefaultSource<TDocument>(string[]) TDocument
Flatten<TDocument>(bool, string) DocumentList<TDocument>
Flattens a tree structure.
Flatten<TDocument>(string, string) DocumentList<TDocument>
Flattens a tree structure.
Flatten<TDocument>(string) DocumentList<TDocument>
Flattens a tree structure.
GetAncestorsOf<TDocument>(NormalizedPath, bool) DocumentList<TDocument>
GetAncestorsOf<TDocument>(NormalizedPath) DocumentList<TDocument>
GetAncestorsOf<TDocument>(TDocument) DocumentList<TDocument>
GetChildrenOf<TDocument>(NormalizedPath) DocumentList<TDocument>
GetDescendantsOf<TDocument>(NormalizedPath, bool) DocumentList<TDocument>
GetDescendantsOf<TDocument>(NormalizedPath) DocumentList<TDocument>
GetDescendantsOf<TDocument>(TDocument) DocumentList<TDocument>
GetNext<TDocument>(TDocument, IEqualityComparer<TDocument>) T
GetNext<TDocument>(TDocument) T
GetParentOf<TDocument>(NormalizedPath) TDocument
GetPrevious<TDocument>(TDocument, IEqualityComparer<TDocument>) T
GetPrevious<TDocument>(TDocument) T
GetSiblingsOf<TDocument>(NormalizedPath, bool) DocumentList<TDocument>
GetSiblingsOf<TDocument>(NormalizedPath) DocumentList<TDocument>
GetSiblingsOf<TDocument>(TDocument) DocumentList<TDocument>
GroupByMany<TDocument, TKey, TElement>(Func<TDocument, IEnumerable<TKey>>, Func<TDocument, TElement>, IEqualityComparer<TKey>) IEnumerable<IGrouping<TKey, TElement>>
Groups the elements of a sequence according to a specified key selector function that returns a sequence of keys. The keys are compared by using a comparer and each group's elements are projected by using a specified function.
GroupByMany<TDocument, TKey, TElement>(Func<TDocument, IEnumerable<TKey>>, Func<TDocument, TElement>) IEnumerable<IGrouping<TKey, TElement>>
Groups the elements of a sequence according to a specified key selector function that returns a sequence of keys and projects the elements for each group by using a specified function.
GroupByMany<TDocument, TKey>(Func<TDocument, IEnumerable<TKey>>, IEqualityComparer<TKey>) IEnumerable<IGrouping<TKey, TSource>>
Groups the elements of a sequence according to a specified key selector function that returns a sequence of keys and compares the keys by using a specified comparer.
GroupByMany<TDocument, TKey>(Func<TDocument, IEnumerable<TKey>>) IEnumerable<IGrouping<TKey, TSource>>
Groups the elements of a sequence according to a specified key selector function that returns a sequence of keys.
GroupByManyToMany<TDocument, TKey, TElement>(Func<TDocument, IEnumerable<TKey>>, Func<TDocument, IEnumerable<TElement>>, IEqualityComparer<TKey>) IEnumerable<IGrouping<TKey, TElement>>
Groups the elements of a sequence according to a specified key selector function that returns a sequence of keys. The keys are compared by using a comparer and each group's elements are projected by using a specified function that returns a sequence of elements.
GroupByManyToMany<TDocument, TKey, TElement>(Func<TDocument, IEnumerable<TKey>>, Func<TDocument, IEnumerable<TElement>>) IEnumerable<IGrouping<TKey, TElement>>
Groups the elements of a sequence according to a specified key selector function that returns a sequence of keys and projects the elements for each group by using a specified function that returns a sequence of elements.
IndexOf<TDocument>(IReadOnlyList<TDocument>, EqualityComparer<TDocument>) int
IndexOf<TDocument>(IReadOnlyList<TDocument>) int
ParallelForEachAsync<TDocument>(Func<TDocument, Task>, CancellationToken) Task
ParallelSelectAsync<TDocument, TResult>(Func<TDocument, Task<TResult>>, CancellationToken) Task<IEnumerable<TResult>>
Invokes an async selector in parallel.
ParallelSelectManyAsync<TDocument, TResult>(Func<TDocument, Task<IEnumerable<TResult>>>, CancellationToken) Task<IEnumerable<TResult>>
Invokes an async selector that returns multiple results in parallel.
ParallelWhereAsync<TDocument>(Func<TDocument, Task<bool>>, CancellationToken) Task<IEnumerable<TSource>>
RemoveTreePlaceholders<TDocument>(string) IEnumerable<TDocument>
Removes tree placeholder documents (this method will not flatten a tree).
StartsWith<TDocument>(IEnumerable<TDocument>, IEqualityComparer<TDocument>) bool
Determines whether the items starts with the specified values.
StartsWith<TDocument>(IEnumerable<TDocument>) bool
Determines whether the items starts with the specified values.
ThrowIfNull<FilteredDocumentList<TDocument>>(string) T
ToDocument<FilteredDocumentList<TDocument>>(IContentProvider) IDocument
ToDocument<FilteredDocumentList<TDocument>>(IEnumerable<KeyValuePair<string, object>>, IContentProvider) IDocument
ToDocument<FilteredDocumentList<TDocument>>(NormalizedPath, IContentProvider) IDocument
ToDocument<FilteredDocumentList<TDocument>>(NormalizedPath, IEnumerable<KeyValuePair<string, object>>, IContentProvider) IDocument
ToDocument<FilteredDocumentList<TDocument>>(NormalizedPath, NormalizedPath, IContentProvider) IDocument
ToDocument<FilteredDocumentList<TDocument>>(NormalizedPath, NormalizedPath, IEnumerable<KeyValuePair<string, object>>, IContentProvider) IDocument
ToDocumentList<TDocument>() DocumentList<TDocument>
ToDocuments<TDocument>(Func<TDocument, IContentProvider>) IEnumerable<IDocument>
ToDocuments<TDocument>(Func<TDocument, IEnumerable<KeyValuePair<string, object>>>, Func<TDocument, IContentProvider>) IEnumerable<IDocument>
ToDocuments<TDocument>(Func<TDocument, NormalizedPath>, Func<TDocument, IContentProvider>) IEnumerable<IDocument>
ToDocuments<TDocument>(Func<TDocument, NormalizedPath>, Func<TDocument, IEnumerable<KeyValuePair<string, object>>>, Func<TDocument, IContentProvider>) IEnumerable<IDocument>
ToDocuments<TDocument>(Func<TDocument, NormalizedPath>, Func<TDocument, NormalizedPath>, Func<TDocument, IContentProvider>) IEnumerable<IDocument>
ToDocuments<TDocument>(Func<TDocument, NormalizedPath>, Func<TDocument, NormalizedPath>, Func<TDocument, IEnumerable<KeyValuePair<string, object>>>, Func<TDocument, IContentProvider>) IEnumerable<IDocument>
ToImmutableDocumentArray<TDocument>() ImmutableArray<TDocument>
Creates an immutable array from the specified document collection and removes null items.
ToLookupMany<TDocument, TKey, TElement>(Func<TDocument, IEnumerable<TKey>>, Func<TDocument, TElement>, IEqualityComparer<TKey>) ILookup<TKey, TElement>
Creates a lookup from a sequence according to a specified key selector function that returns a sequence of keys. The keys are compared by using a comparer and each group's elements are projected by using a specified function.
ToLookupMany<TDocument, TKey, TElement>(Func<TDocument, IEnumerable<TKey>>, Func<TDocument, TElement>) ILookup<TKey, TElement>
Creates a lookup from a sequence according to a specified key selector function that returns a sequence of keys and projects the elements for each group by using a specified function.
ToLookupMany<TDocument, TKey>(Func<TDocument, IEnumerable<TKey>>, IEqualityComparer<TKey>) ILookup<TKey, TSource>
Creates a lookup from a sequence according to a specified key selector function that returns a sequence of keys and compares the keys by using a specified comparer.
ToLookupMany<TDocument, TKey>(Func<TDocument, IEnumerable<TKey>>) ILookup<TKey, TSource>
Creates a lookup from a sequence according to a specified key selector function that returns a sequence of keys.
ToLookupManyToMany<TDocument, TKey, TElement>(Func<TDocument, IEnumerable<TKey>>, Func<TDocument, IEnumerable<TElement>>, IEqualityComparer<TKey>) ILookup<TKey, TElement>
Creates a lookup from a sequence according to a specified key selector function that returns a sequence of keys. The keys are compared by using a comparer and each group's elements are projected by using a specified function that returns a sequence of elements.
ToLookupManyToMany<TDocument, TKey, TElement>(Func<TDocument, IEnumerable<TKey>>, Func<TDocument, IEnumerable<TElement>>) ILookup<TKey, TElement>
Creates a lookup from a sequence according to a specified key selector function that returns a sequence of keys and projects the elements for each group by using a specified function that returns a sequence of elements.
ToStringTable<TDocument>(string[], Func<TDocument, object>[]) string
WhereContainsAllKeys<TDocument>(string[]) DocumentList<TDocument>
Returns all documents that contain all of the specified metadata keys.
WhereContainsAnyKeys<TDocument>(string[]) DocumentList<TDocument>
Returns all documents that contain any of the specified metadata keys.
WhereContainsKey<TDocument>(string) DocumentList<TDocument>
Returns all documents that contain the specified metadata key.