Coverage Report - net.sf.statcvs.output.WebRepositoryIntegration
 
Classes in this File Line Coverage Branch Coverage Complexity
WebRepositoryIntegration
N/A
N/A
1
 
 1  
 /*
 2  
         StatCvs - CVS statistics generation 
 3  
         Copyright (C) 2002  Lukasz Pekacki <lukasz@pekacki.de>
 4  
         http://statcvs.sf.net/
 5  
     
 6  
         This library is free software; you can redistribute it and/or
 7  
         modify it under the terms of the GNU Lesser General Public
 8  
         License as published by the Free Software Foundation; either
 9  
         version 2.1 of the License, or (at your option) any later version.
 10  
 
 11  
         This library is distributed in the hope that it will be useful,
 12  
         but WITHOUT ANY WARRANTY; without even the implied warranty of
 13  
         MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 14  
         Lesser General Public License for more details.
 15  
 
 16  
         You should have received a copy of the GNU Lesser General Public
 17  
         License along with this library; if not, write to the Free Software
 18  
         Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 19  
     
 20  
         $RCSfile: WebRepositoryIntegration.java,v $
 21  
         $Date: 2008/04/02 11:22:15 $ 
 22  
 */
 23  
 package net.sf.statcvs.output;
 24  
 
 25  
 import java.util.Set;
 26  
 
 27  
 import net.sf.statcvs.model.Directory;
 28  
 import net.sf.statcvs.model.Revision;
 29  
 import net.sf.statcvs.model.VersionedFile;
 30  
 
 31  
 /**
 32  
  * Interface for integration of web repository browsers. Web repository
 33  
  * browsers are dynamic web sites where you can browse the contents of
 34  
  * a CVS repository, make diffs etc. A good example is
 35  
  * <a href="http://viewcvs.sourceforge.net/">ViewCVS</a>.
 36  
  * 
 37  
  * @author Richard Cyganiak
 38  
  * @version $Id: WebRepositoryIntegration.java,v 1.7 2008/04/02 11:22:15 benoitx Exp $
 39  
  */
 40  
 public interface WebRepositoryIntegration {
 41  
 
 42  
     /**
 43  
      * Returns the name of the repository browser
 44  
      * @return the name of the repository browser
 45  
      */
 46  
     String getName();
 47  
 
 48  
     /**
 49  
      * Returns a URL to a directory in the web repository browser
 50  
      * @param directory the directory
 51  
      * @return a URL to the directory in the web repository browser
 52  
      */
 53  
     String getDirectoryUrl(Directory directory);
 54  
 
 55  
     /**
 56  
      * Returns a URL to a file in the web repository browser. The
 57  
      * URL points to a history of all revisions of the file.
 58  
      * @param file the file
 59  
      * @return a URL to the file in the web repository browser
 60  
      */
 61  
     String getFileHistoryUrl(VersionedFile file);
 62  
 
 63  
     /**
 64  
      * Returns a URL to a file in the web repository browser. The
 65  
      * URL points to a representation of the file's current contents.
 66  
      * @param file the file
 67  
      * @return a URL to the file in the web repository browser
 68  
      */
 69  
     String getFileViewUrl(VersionedFile file);
 70  
 
 71  
     /**
 72  
      * Returns a URL to a file in the web repository browser. The
 73  
      * URL points to a representation of the specific revision given
 74  
      * as a parameter.
 75  
      * @param revision the revision
 76  
      * @return a URL to the revision in the web repository browser
 77  
      */
 78  
     String getFileViewUrl(Revision revision);
 79  
 
 80  
     /**
 81  
      * Returns a URL to a diff in the web repository browser. Both revisions
 82  
      * must belong to the same <tt>VersionedFile</tt>.
 83  
      * @param oldRevision the old revision
 84  
      * @param newRevision the new revision
 85  
      * @return a URL to a diff
 86  
      */
 87  
     String getDiffUrl(Revision oldRevision, Revision newRevision);
 88  
 
 89  
     /**
 90  
      * Sets the files that are "in the attic", in the CVS sense. See
 91  
      * <a href="http://www.cvshome.org/docs/manual/current/cvs_2.html#SEC15">CVS manual</a>.
 92  
      * @param atticFileNames names of all files (<tt>String</tt>) in the attic
 93  
      */
 94  
     public void setAtticFileNames(Set atticFileNames);
 95  
 
 96  
     /**
 97  
      * @return the base Url
 98  
      */
 99  
     String getBaseUrl();
 100  
 }