1 package org.simantics.db.common.utils;
3 import java.util.ArrayList;
4 import java.util.Collection;
6 import org.simantics.db.common.NamedResource;
7 import org.simantics.utils.strings.AlphanumComparator;
9 public class VersionInfo {
11 public String baseName;
12 public String version;
13 public Collection<NamedResource> versions;
15 public VersionInfo(String baseName, String version, Collection<NamedResource> versions) {
16 this.baseName = baseName;
17 this.version = version;
18 this.versions = versions;
21 public boolean containsVersion(String version) {
22 for(NamedResource r : versions) if(r.getName().equals(version)) return true;
26 public Collection<NamedResource> getOlderVersions() {
27 ArrayList<NamedResource> result = new ArrayList<NamedResource>();
28 for(NamedResource r : versions) {
29 if(AlphanumComparator.COMPARATOR.compare(r.getName(), version) < 0) result.add(r);
34 public Collection<NamedResource> getNewerVersions() {
35 ArrayList<NamedResource> result = new ArrayList<NamedResource>();
36 for(NamedResource r : versions) {
37 if(AlphanumComparator.COMPARATOR.compare(r.getName(), version) > 0) result.add(r);
43 public boolean equals(Object object) {
46 else if (object == null)
48 else if (!(object instanceof VersionInfo))
50 VersionInfo r = (VersionInfo)object;
51 return r.baseName.equals(baseName) && r.version.equals(version) && r.versions.equals(versions);
55 public int hashCode() {
56 return baseName.hashCode() + 31*version.hashCode() + 41*versions.hashCode();