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