org.jutil.junit
Class CVSRevision

java.lang.Object
  |
  +--org.jutil.junit.AbstractRevision
        |
        +--org.jutil.junit.CVSRevision
All Implemented Interfaces:
Revision

public class CVSRevision
extends AbstractRevision

A class of CVS revisions. A revision is created using the string that CVS uses to save version information in a file.


Field Summary
static java.lang.String CVS_REVISION
           
 
Constructor Summary
CVSRevision(java.lang.String revision)
          Initialize a new CVSRevision with the given String.
 
Method Summary
 int getNumber(int index)
          See superclass.
 int length()
          See superclass.
 
Methods inherited from class org.jutil.junit.AbstractRevision
equals, getMajor, getMicro, getMinor, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

CVS_REVISION

public static final java.lang.String CVS_REVISION
Constructor Detail

CVSRevision

public CVSRevision(java.lang.String revision)
Initialize a new CVSRevision with the given String.

Parameters:
revision - A String representing the CVS revision. This is the string the CVS itself uses. The format is "$Revision: 1.7 $", where x is the version number, or just "1.3.234.1.5" or so . The format is more formally described in the preconditions.

Specifications:
public behavior
requires revision != null;
requires new Pattern("\d*(\.(\d)*)*").matcher(revision).matches()||new Pattern("$Revision: 1.7 $").matcher(revision).matches();
ensures (* number i == the i'th x *);
Method Detail

getNumber

public int getNumber(int index)
See superclass.
Specifications inherited from overridden method in interface Revision:
requires index >= 1;
ensures \result >= 0;
ensures (index > length()) ==> (\result == 0);

length

public int length()
See superclass.
Specifications inherited from overridden method in interface Revision:
public behavior
ensures \result >= 1;