CachedNodeFactory
using Relativity.DataTransfer.Nodes;
using Relativity.Transfer.Enumeration.Adapters;
using Relativity.Transfer.Enumeration.Interfaces;
using System;
namespace Relativity.Transfer.Enumeration
{
internal class CachedNodeFactory : INodeFactory
{
public IFile CreateFile(string name, INode parentNode, DateTime modified, long size)
{
return new CachedFileNode(name, parentNode, modified, size);
}
public IDirectory CreateDirectory(string name, INode parentNode, DateTime modified)
{
return new CachedDirectoryNode(name, parentNode, modified);
}
public IDirectory CreateDirectory(string name, INode parentNode, DateTime modified, bool isEmpty)
{
return CreateDirectory(CreateDirectory(name, parentNode, modified), isEmpty);
}
public IDirectory CreateDirectory(IDirectory directoryNode, bool isEmpty)
{
return new ExtendedDirectoryNode(directoryNode.Name, directoryNode.Parent, directoryNode.Modified, isEmpty);
}
}
}