/*
Kooboo is a content management system based on ASP.NET MVC framework. Copyright 2009 Yardi Technology Limited.
This program is free software: you can redistribute it and/or modify it under the terms of the
GNU General Public License version 3 as published by the Free Software Foundation.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program.
If not, see http://www.kooboo.com/gpl3/.
*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Everest.Library.Versioning{
public interface IVersionItem
{
/// <summary>
/// Gets the versioning.
/// </summary>
/// <value>The versioning.</value>
IVersioning Versioning { get; }
/// <summary>
/// Gets or sets the UUID.
/// </summary>
/// <value>The UUID.</value>
Guid UUID { get; }
/// <summary>
/// Gets or sets the user.
/// </summary>
/// <value>The user.</value>
string CheckinUser { get; set; }
/// <summary>
/// Gets or sets the comment.
/// </summary>
/// <value>The comment.</value>
string CheckinComment { get; set; }
/// <summary>
/// Gets or sets the size.
/// </summary>
/// <value>The size.</value>
int? Size { get; set; }
/// <summary>
/// Gets or sets the date.
/// </summary>
/// <value>The date.</value>
DateTime DateTime { get; set; }
/// <summary>
/// Gets or sets the revision.
/// </summary>
/// <value>The revision.</value>
int Revision { get; set; }
/// <summary>
/// Gets a value indicating whether this instance is checkout.
/// </summary>
/// <value>
/// <c>true</c> if this instance is checkout; otherwise, <c>false</c>.
/// </value>
bool IsCheckout { get; }
/// <summary>
/// Gets the checkout by.
/// </summary>
/// <value>The checkout by.</value>
string CheckoutBy { get; }
/// <summary>
/// Gets the checkout comment.
/// </summary>
/// <value>The checkout comment.</value>
string CheckoutComment { get; }
/// <summary>
/// Gets the predecessor.
/// </summary>
/// <returns></returns>
IVersionItem GetPredecessor();
/// <summary>
/// Gets the successor.
/// </summary>
/// <returns></returns>
IVersionItem GetSuccessor();
/// <summary>
/// Gets the body.
/// </summary>
/// <returns></returns>
string GetBody();
/// <summary>
/// Gets the object.
/// </summary>
/// <typeparam name="T">the type of versionable</typeparam>
/// <returns></returns>
object GetObject();
/// <summary>
/// Gets the name of the snapshot form.
/// </summary>
/// <value>The name of the snapshot form.</value>
string SnapshotFormName { get; }
}
}
|