PathValidationProvider
using System.Collections.Generic;
namespace Relativity.Transfer
{
public class PathValidationProvider : IPathValidationProvider, IPathValidator
{
private readonly List<IPathValidator> validators = new List<IPathValidator>();
public PathValidationResult Validate(TransferPath transferPath)
{
foreach (IPathValidator validator in validators) {
PathValidationResult pathValidationResult = validator.Validate(transferPath);
if (!pathValidationResult.IsOk)
return pathValidationResult;
}
return PathValidationResult.Ok(transferPath);
}
public void Validate(IEnumerable<string> searchPaths, string targetPath)
{
foreach (IPathValidator validator in validators) {
validator.Validate(searchPaths, targetPath);
}
}
public void Register(IPathValidator pathValidator)
{
validators.Add(pathValidator);
}
}
}