1 package org.simantics.db.common.utils;
\r
3 import java.util.ArrayList;
\r
4 import java.util.Collection;
\r
6 import org.simantics.db.common.NamedResource;
\r
7 import org.simantics.utils.strings.AlphanumComparator;
\r
9 public class VersionInfo {
\r
11 public String baseName;
\r
12 public String version;
\r
13 public Collection<NamedResource> versions;
\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
21 public boolean containsVersion(String version) {
\r
22 for(NamedResource r : versions) if(r.getName().equals(version)) return true;
\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
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
43 public boolean equals(Object object) {
\r
46 else if (object == null)
\r
48 else if (!(object instanceof VersionInfo))
\r
50 VersionInfo r = (VersionInfo)object;
\r
51 return r.baseName.equals(baseName) && r.version.equals(version) && r.versions.equals(versions);
\r
55 public int hashCode() {
\r
56 return baseName.hashCode() + 31*version.hashCode() + 41*versions.hashCode();
\r