BatchingParameters
class BatchingParameters
using Relativity.DataTransfer.Nodes;
using System;
namespace Relativity.Transfer.Enumeration.Batches
{
internal class BatchingParameters
{
public INode SourceRootDirectory { get; }
public INode TargetDirectory => TransferPathParameters.TargetDirectory;
public IDirectory BatchSerializationDirectory { get; }
public TransferPathParameters TransferPathParameters { get; }
public BatchingParameters(INode sourceRootDirectory, INode targetDirectory, IDirectory batchSerializationDirectory, TransferDirection direction)
: this(sourceRootDirectory, targetDirectory, batchSerializationDirectory, true, direction)
{
}
public BatchingParameters(INode sourceRootDirectory, INode targetDirectory, IDirectory batchSerializationDirectory, bool preserveFolders, TransferDirection direction)
: this(sourceRootDirectory, batchSerializationDirectory, new TransferPathParameters(targetDirectory, preserveFolders, direction))
{
}
public BatchingParameters(INode sourceRootDirectory, IDirectory batchSerializationDirectory, TransferPathParameters transferPathParameters)
{
if (!(sourceRootDirectory is IDirectory) && !(sourceRootDirectory is IDrive))
throw new ArgumentException("The source should be a directory or a disk drive.", "sourceRootDirectory");
SourceRootDirectory = sourceRootDirectory;
BatchSerializationDirectory = batchSerializationDirectory;
TransferPathParameters = transferPathParameters;
}
}
}