1 /*******************************************************************************
\r
2 * Copyright (c) 2007, 2010 Association for Decentralized Information Management
\r
3 * in Industry THTH ry.
\r
4 * All rights reserved. This program and the accompanying materials
\r
5 * are made available under the terms of the Eclipse Public License v1.0
\r
6 * which accompanies this distribution, and is available at
\r
7 * http://www.eclipse.org/legal/epl-v10.html
\r
10 * VTT Technical Research Centre of Finland - initial API and implementation
\r
11 *******************************************************************************/
\r
12 package org.simantics.project.management;
\r
14 import org.eclipse.equinox.p2.metadata.IInstallableUnit;
\r
15 import org.eclipse.equinox.p2.metadata.IVersionedId;
\r
16 import org.eclipse.equinox.p2.metadata.Version;
\r
17 import org.eclipse.equinox.p2.metadata.VersionedId;
\r
19 public class BundleInfo implements Comparable<BundleInfo>, IVersionedId {
\r
21 public static BundleInfo read(IInstallableUnit iu) {
\r
22 String name = iu.getProperty("org.eclipse.equinox.p2.name");
\r
23 String description = iu.getProperty("org.eclipse.equinox.p2.description");
\r
24 return new BundleInfo(iu, name, description);
\r
27 public IVersionedId vid;
\r
29 public String description;
\r
31 public BundleInfo(String id, String version, String name, String description) {
\r
32 vid = new VersionedId(id, version);
\r
34 this.description = description;
\r
37 public BundleInfo(IVersionedId vid, String name, String description) {
\r
40 this.description = description;
\r
44 public String toString() {
\r
48 public String toVersionString() {
\r
49 return Version.emptyVersion.equals(vid.getVersion()) ? vid.getId() : vid.getId() + '/' + vid.getVersion().toString();
\r
53 public int compareTo(BundleInfo o) {
\r
54 return name.compareTo( o.name );
\r
57 public String getId() {
\r
61 public void setId(IVersionedId vid) {
\r
65 public Version getVersion() {
\r
66 return vid.getVersion();
\r
69 public String getDescription() {
\r
73 public void setDescription(String description) {
\r
74 this.description = description;
\r
77 public String getName() {
\r
81 public void setName(String name) {
\r
86 public int hashCode() {
\r
87 return vid.hashCode();
\r
91 public boolean equals(Object obj) {
\r
92 return vid.equals(obj);
\r