CanonicalFormConverterBase
namespace Relativity.DataTransfer.Nodes.PathConversion
{
public abstract class CanonicalFormConverterBase : ICanonicalFormConverter
{
public string Convert(string rawPath)
{
string path = rawPath.Trim();
string path2 = FixPathPrefix(path);
string path3 = FixSlashes(path2);
return RemoveAdditionalSlashes(path3);
}
protected abstract string RemoveAdditionalSlashes(string path);
protected abstract string FixSlashes(string path);
private static string FixPathPrefix(string path)
{
string result = path;
if (path.StartsWith(PathConstants.UncPathLongPrefix)) {
string str = path.TrimStart(PathConstants.UncPathLongPrefix.ToCharArray());
result = PathConstants.UncPathShortPrefix + str;
} else if (path.StartsWith(PathConstants.DevicePathSpecifier)) {
result = path.TrimStart(PathConstants.DevicePathSpecifier.ToCharArray());
}
return result;
}
}
}