using Umbraco.Cms.Core.Models.Entities;
namespace Umbraco.Cms.Core.Models;
/// <summary>
/// Defines a File
/// </summary>
/// <remarks>Used for Scripts, Stylesheets and Templates</remarks>
public interface IFile : IEntity, IRememberBeingDirty
{
/// Gets the Name of the File including extension
string? Name { get; }
/// Gets the Alias of the File, which is the name without the extension
string Alias { get; }
/// Gets or sets the Path to the File from the root of the file's associated IFileSystem
string Path { get; set; }
/// Gets the original path of the file
string OriginalPath { get; }
/// Gets or sets the Content of a File
string? Content { get; set; }
/// Gets or sets the file's virtual path (i.e. the file path relative to the root of the website)
string? VirtualPath { get; set; }
/// Called to re-set the OriginalPath to the Path
void ResetOriginalPath();
}