1 /* 2 * This file is part of "SnipSnap Wiki/Weblog". 3 * 4 * Copyright (c) 2002 Stephan J. Schmidt, Matthias L. Jugel 5 * All Rights Reserved. 6 * 7 * Please visit http://snipsnap.org/ for updates and contact. 8 * 9 * --LICENSE NOTICE-- 10 * This program is free software; you can redistribute it and/or 11 * modify it under the terms of the GNU General Public License 12 * as published by the Free Software Foundation; either version 2 13 * of the License, or (at your option) any later version. 14 * 15 * This program is distributed in the hope that it will be useful, 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 * GNU General Public License for more details. 19 * 20 * You should have received a copy of the GNU General Public License 21 * along with this program; if not, write to the Free Software 22 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 23 * --LICENSE NOTICE-- 24 */ 25 26 package org.snipsnap.versioning; 27 28 import org.snipsnap.snip.Snip; 29 30 import java.util.List; 31 32 /** 33 * Stores versions of snips 34 * 35 * @author Stephan J. Schmidt 36 * @version $Id: VersionStorage.java 1257 2003-12-11 13:36:55Z leo $ 37 */ 38 39 public interface VersionStorage { 40 41 /** 42 * Return a list of VersionInfo objects for the 43 * given snip. Objects should be ordered by decreasing version 44 * 45 * @param snip Snip for which the revision should be loaded 46 * @return 47 */ 48 public List getVersionHistory(Snip snip); 49 50 /** 51 * Load a version of a snip from the storage 52 * 53 * @param snip Example of a snip to load 54 * @param version Version number 55 * @return 56 */ 57 public Snip loadVersion(Snip snip, int version); 58 59 /** 60 * Stora a version of a snip in the storage. 61 * 62 * @param snip Snip to store 63 */ 64 public void storeVersion(Snip snip); 65 } 66