public DirectorySnippetExtractor( DirectoryFilter directoryFilter, FileFilter fileFilter, GetPackageOrderForComponent packageOrder = null, TranslatePackage translatePackage = null) { Guard.AgainstNull(directoryFilter, nameof(directoryFilter)); Guard.AgainstNull(fileFilter, nameof(fileFilter)); fileFinder = new FileFinder(directoryFilter, fileFilter); if (packageOrder == null) { this.packageOrder = x => Enumerable.Empty <string>(); } else { this.packageOrder = packageOrder; } if (translatePackage == null) { this.translatePackage = alias => alias; } else { this.translatePackage = translatePackage; } }
public DirectorySnippetExtractor(DirectoryFilter directoryFilter, FileFilter fileFilter, GetPackageOrderForComponent packageOrder, TranslatePackage translatePackage = null) { Guard.AgainstNull(directoryFilter, nameof(directoryFilter)); Guard.AgainstNull(fileFilter, nameof(fileFilter)); this.directoryFilter = directoryFilter; this.fileFilter = fileFilter; this.packageOrder = packageOrder; if (translatePackage == null) { this.translatePackage = alias => alias; } else { this.translatePackage = translatePackage; } }
/// <summary> /// Add translation resource /// </summary> /// <param name="packageKey"></param> /// <param name="resource"></param> /// <returns></returns> /// <exception cref="ArgumentNullException"></exception> /// <exception cref="InvalidOperationException"></exception> public I18NOptions AddResource(string packageKey, ITranslateResource resource) { if (resource == null) { throw new ArgumentNullException(nameof(resource)); } if (string.IsNullOrWhiteSpace(packageKey)) { throw new ArgumentNullException(nameof(packageKey)); } if (resource.IsAnonymous) { throw new ArgumentException($"Anonymous translation resource should use method '{nameof(AddAnonymousResource)}'."); } lock (__lock_resource) { var hashOfPackageKey = packageKey.GetHashCode(); if (TryRegisterLanguageTagOnce(resource.Binding)) { if (__translationPackages.TryGetValue(hashOfPackageKey, out var package)) { package.AddResource(resource); } else { var future = new TranslatePackage(packageKey, _fallbackExperimenter); future.AddResource(resource); AddPackageInternal(future); } } else { throw new InvalidOperationException($"Something broken when add new resource '{resource.Name}'."); } } return(this); }
/// <summary> /// Constructor. /// </summary> /// <param name="directoryFilter">Directories to include.</param> /// <param name="fileFilter">Files to include.</param> public CachedSnippetExtractor(DirectoryFilter directoryFilter, FileFilter fileFilter, GetPackageOrderForComponent packageOrder = null, TranslatePackage translatePackage = null) { Guard.AgainstNull(directoryFilter, nameof(directoryFilter)); Guard.AgainstNull(fileFilter, nameof(fileFilter)); extractor = new DirectorySnippetExtractor(directoryFilter, fileFilter, packageOrder, translatePackage); }
internal DirectorySnippetExtractor( GetPackageOrderForComponent packageOrder = null, TranslatePackage translatePackage = null) : this(path => true, path => true, packageOrder, translatePackage) { }