public FileContainer(FileDescriptor descriptor, string content) : this(descriptor) { Content = content; }
public FileContainer(FileDescriptor descriptor) : this(descriptor.Name, descriptor.Extension, descriptor.Directory) { }
public bool FileIsAcceptable(FileDescriptor descriptor) => NameIsAcceptable(descriptor) && ExtensionsIsAcceptable(descriptor) && DirectoryIsAcceptable(descriptor);
private bool DirectoryIsAcceptable(FileDescriptor descriptor) => !BlackList.DirectoryIntersection(descriptor.Directory) || Exceptions.DirectoryIntersection(descriptor.Directory);
private bool ExtensionsIsAcceptable(FileDescriptor descriptor) => !BlackList.ExtensionIntersection(descriptor.Extension) || Exceptions.ExtensionIntersection(descriptor.Extension);
private bool NameIsAcceptable(FileDescriptor descriptor) => !BlackList.NameIntersection(descriptor.Name) || Exceptions.NameIntersection(descriptor.Name);