Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public interface IPathTransformer
- {
- String Transform(String path);
- }
- public class MovePathTransformer : IPathTransformer
- {
- private readonly String _targetDirectory;
- public MovePathTransformer(String targetDirectory)
- {
- if (targetDirectory == null) throw new ArgumentNullException("targetDirectory");
- _targetDirectory = targetDirectory;
- if (!_targetDirectory.EndsWith(@"\"))
- _targetDirectory += @"\";
- }
- public String Transform(String path)
- {
- if (path == null) throw new ArgumentNullException("path");
- return Path.Combine(_targetDirectory, Path.GetFileName(path));
- }
- }
- public class FileNameAppendPathTransformer : IPathTransformer
- {
- private readonly String _value;
- public FileNameAppendPathTransformer(String value)
- {
- if (value == null) throw new ArgumentNullException("value");
- _value = value;
- }
- public String Transform(String path)
- {
- if (path == null) throw new ArgumentNullException("path");
- String directory = Path.GetDirectoryName(path);
- String name = Path.GetFileNameWithoutExtension(path);
- String extension = Path.GetExtension(path);
- return Path.Combine(directory, String.Concat(name, _value, extension));
- }
- }
- public class TodayDatePathTransformer : IPathTransformer
- {
- private readonly String _dateFormat;
- public TodayDatePathTransformer()
- : this(@"MMddyyyy")
- {
- }
- public TodayDatePathTransformer(String dateFormat)
- {
- if (dateFormat == null) throw new ArgumentNullException("dateFormat");
- _dateFormat = dateFormat;
- }
- public String Transform(String path)
- {
- if (path == null) throw new ArgumentNullException("path");
- IPathTransformer appender = new FileNameAppendPathTransformer(DateTime.Today.ToString(_dateFormat));
- return appender.Transform(path);
- }
- }
- public class PathTransformer : IPathTransformer
- {
- private readonly IEnumerable<IPathTransformer> _transformers;
- public PathTransformer(params IPathTransformer[] transformers)
- {
- if (transformers == null) throw new ArgumentNullException("transformers");
- _transformers = transformers;
- }
- public String Transform(String path)
- {
- if (path == null) throw new ArgumentNullException("path");
- return _transformers.Aggregate(path, (current, transformer) => transformer.Transform(current));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement