2using System.Collections.Generic;
4using System.Threading.Tasks;
32 return Grade.NotAtAll;
53 if (File.Exists(Reference.
FileName) &&
56 await Tokenizer.Tokenize(Reference, Process);
78 string Extension = Path.GetExtension(FileName).ToLower();
80 if (Extension.StartsWith(
"."))
81 Extension = Extension.Substring(1);
85 if (!tokenizers.TryGetValue(Extension, out Tokenizer))
87 else if (Tokenizer is
null)
95 tokenizers[Extension] = Tokenizer;
98 return !(Tokenizer is
null);
101 private static readonly Dictionary<string, IFileTokenizer> tokenizers =
new Dictionary<string, IFileTokenizer>();
105 Types.OnInvalidated += Types_OnInvalidated;
108 private static void Types_OnInvalidated(
object Sender, EventArgs e)
Contains a reference to an indexed file.
CaseInsensitiveString FileName
Name of collection hosting object.
Tokenizes files via FileReference object references.
static async Task Tokenize(FileReference Reference, TokenizationProcess Process)
Tokenizes a file, via its file reference object.
static bool TryGetFileTokenizer(string FileName, out IFileTokenizer Tokenizer)
Tries to get a file tokenizer for a given file.
static bool HasTokenizer(string FileName)
Checks if a file has a file tokenizer associated with it.
Grade Supports(Type Object)
If the interface understands objects such as Object .
FileReferenceTokenizer()
Tokenizes files via FileReference object references.
async Task Tokenize(object Value, TokenizationProcess Process)
Tokenizes an object.
Contains information about a tokenization process.
Static class that dynamically manages types and interfaces available in the runtime environment.
Interface for file tokenizers. Best tokenizer is selected
Interface for full-text-search tokenizers