KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > contineo > documan > Version


1 /*
2  * Version.java
3  *
4  * Created on 17. August 2003, 21:59
5  */

6
7 package org.contineo.documan;
8
9 /**
10  * This class represents versions.
11  * @author Michael Scholz
12  * @version 1.0
13  */

14 public class Version implements Comparable JavaDoc {
15   
16     /**
17      * specifies different version types
18      */

19     public enum VERSION_TYPE {
20         NEW_RELEASE,
21         NEW_SUBVERSION,
22         OLD_VERSION;
23     }
24     
25     /**
26      * @uml.property name="docId"
27      */

28     private int docId;
29
30     /**
31      * @uml.property name="version"
32      */

33     private String JavaDoc version;
34
35     /**
36      * @uml.property name="versionUser"
37      */

38     private String JavaDoc versionUser;
39
40     /**
41      * @uml.property name="versionDate"
42      */

43     private String JavaDoc versionDate;
44
45     /**
46      * @uml.property name="versionComment"
47      */

48     private String JavaDoc versionComment;
49
50     
51     /** Creates a new instance of Version */
52     public Version() {
53         docId = 0;
54         version = "";
55         versionUser = "";
56         versionDate = "";
57         versionComment = "";
58     }
59
60     /**
61      *
62      * @uml.property name="docId"
63      */

64     public int getDocId() {
65         return docId;
66     }
67
68     /**
69      *
70      * @uml.property name="version"
71      */

72     public String JavaDoc getVersion() {
73         return version;
74     }
75
76     /**
77      *
78      * @uml.property name="versionUser"
79      */

80     public String JavaDoc getVersionUser() {
81         return versionUser;
82     }
83
84     /**
85      *
86      * @uml.property name="versionDate"
87      */

88     public String JavaDoc getVersionDate() {
89         return versionDate;
90     }
91
92     /**
93      *
94      * @uml.property name="versionComment"
95      */

96     public String JavaDoc getVersionComment() {
97         return versionComment;
98     }
99
100     /**
101      *
102      * @uml.property name="docId"
103      */

104     public void setDocId(int id) {
105         docId = id;
106     }
107
108     /**
109      *
110      * @uml.property name="version"
111      */

112     public void setVersion(String JavaDoc vers) {
113         version = vers;
114     }
115
116     /**
117      *
118      * @uml.property name="versionUser"
119      */

120     public void setVersionUser(String JavaDoc vuser) {
121         versionUser = vuser;
122     }
123
124     /**
125      *
126      * @uml.property name="versionDate"
127      */

128     public void setVersionDate(String JavaDoc date) {
129         versionDate = date;
130     }
131
132     /**
133      *
134      * @uml.property name="versionComment"
135      */

136     public void setVersionComment(String JavaDoc comment) {
137         versionComment = comment;
138     }
139
140     /**
141      * returns a new version name
142      * @param oldVersionName name of the old version, e.g. 1.5
143      * @param versionType what kind of version, so if it should be 1.6, 2.0 or remain 1.5
144      */

145     public String JavaDoc getNewVersionName(String JavaDoc oldVersionName, VERSION_TYPE versionType)
146     {
147         String JavaDoc release = oldVersionName.substring(0, oldVersionName.indexOf("."));
148         String JavaDoc version = oldVersionName.substring(oldVersionName.lastIndexOf(".") + 1);
149         
150         int number;
151         switch (versionType) {
152             case NEW_RELEASE:
153                 number = Integer.parseInt(release);
154                 release = String.valueOf(number + 1);
155                 version = "0";
156                 break;
157             case NEW_SUBVERSION:
158                 number = Integer.parseInt(version);
159                 version = String.valueOf(number + 1);
160                 break;
161             case OLD_VERSION:
162                 return oldVersionName;
163         }
164         
165         return release + "." + version;
166     }
167     
168     /** for sorting a list of Version objects by the version number */
169     public int compareTo(Object JavaDoc arg0) {
170         if (!(arg0 instanceof Version))
171             return 0;
172         
173         return this.getVersion().toLowerCase().compareTo(((Version) arg0).getVersion().toLowerCase());
174     }
175 }
176
Popular Tags