1 package org.apache.maven.scm.provider.accurev;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import java.util.Date;
23
24 import org.codehaus.plexus.util.StringUtils;
25
26
27
28
29 public class AccuRevVersion
30 {
31
32 private String basisStream;
33
34 private String timeSpec;
35
36 public AccuRevVersion( String basisStream, String tran )
37 {
38
39 this.basisStream = basisStream;
40 this.timeSpec = tran;
41 }
42
43 public String getBasisStream()
44 {
45 return basisStream;
46 }
47
48 public String getTimeSpec()
49 {
50 return timeSpec;
51 }
52
53 public AccuRevVersion( String basis, Date startDate )
54 {
55 this( basis, AccuRev.ACCUREV_TIME_SPEC.format( startDate ) );
56 }
57
58 public AccuRevVersion( String basis, long transactionId )
59 {
60 this( basis, Long.toString( transactionId ) );
61 }
62
63 public boolean isNow()
64 {
65 return isNow( this.timeSpec );
66 }
67
68 @Override
69 public String toString()
70 {
71 return String.format( "AccuRevVersion: stream = %s, transaction= %s", basisStream, timeSpec );
72 }
73
74 public static boolean isNow( String timeSpec )
75 {
76 return StringUtils.isBlank( timeSpec ) || "highest".equalsIgnoreCase( timeSpec )
77 || "now".equalsIgnoreCase( timeSpec );
78 }
79 }