]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.db.common/src/org/simantics/db/common/utils/VersionInfo.java
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.db.common / src / org / simantics / db / common / utils / VersionInfo.java
1 package org.simantics.db.common.utils;\r
2 \r
3 import java.util.ArrayList;\r
4 import java.util.Collection;\r
5 \r
6 import org.simantics.db.common.NamedResource;\r
7 import org.simantics.utils.strings.AlphanumComparator;\r
8 \r
9 public class VersionInfo {\r
10 \r
11         public String baseName;\r
12         public String version;\r
13         public Collection<NamedResource> versions;\r
14 \r
15         public VersionInfo(String baseName, String version, Collection<NamedResource> versions) {\r
16                 this.baseName = baseName;\r
17                 this.version = version;\r
18                 this.versions = versions;\r
19         }\r
20         \r
21         public boolean containsVersion(String version) {\r
22                 for(NamedResource r : versions) if(r.getName().equals(version)) return true;\r
23                 return false;\r
24         }\r
25         \r
26         public Collection<NamedResource> getOlderVersions() {\r
27                 ArrayList<NamedResource> result = new ArrayList<NamedResource>();\r
28                 for(NamedResource r : versions) {\r
29                         if(AlphanumComparator.COMPARATOR.compare(r.getName(), version) < 0) result.add(r);\r
30                 }\r
31                 return result;\r
32         }\r
33         \r
34         public Collection<NamedResource> getNewerVersions() {\r
35                 ArrayList<NamedResource> result = new ArrayList<NamedResource>();\r
36                 for(NamedResource r : versions) {\r
37                         if(AlphanumComparator.COMPARATOR.compare(r.getName(), version) > 0) result.add(r);\r
38                 }\r
39                 return result;\r
40         }\r
41 \r
42         @Override\r
43         public boolean equals(Object object) {\r
44         if (this == object)\r
45             return true;\r
46         else if (object == null)\r
47             return false;\r
48         else if (!(object instanceof VersionInfo))\r
49             return false;\r
50         VersionInfo r = (VersionInfo)object;\r
51         return r.baseName.equals(baseName) && r.version.equals(version) && r.versions.equals(versions);\r
52         }\r
53         \r
54         @Override\r
55         public int hashCode() {\r
56                 return baseName.hashCode() + 31*version.hashCode() + 41*versions.hashCode();\r
57         }\r
58         \r
59         \r
60 }\r