]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.project/src/org/simantics/project/management/FeatureInfo.java
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.project / src / org / simantics / project / management / FeatureInfo.java
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
8  *\r
9  * Contributors:\r
10  *     VTT Technical Research Centre of Finland - initial API and implementation\r
11  *******************************************************************************/\r
12 package org.simantics.project.management;\r
13 \r
14 import org.eclipse.equinox.p2.metadata.IVersionedId;\r
15 import org.eclipse.equinox.p2.metadata.Version;\r
16 \r
17 /**\r
18  * Project Feature is a end-user installable unit.\r
19  * \r
20  *\r
21  * @author Toni Kalajainen <toni.kalajainen@vtt.fi>\r
22  */\r
23 public class FeatureInfo implements IVersionedId {\r
24 \r
25         public String name;\r
26         public String URI;\r
27         \r
28         /** ID to the transferable graph */\r
29         public IVersionedId vid;\r
30         \r
31         public FeatureInfo(String name, String URI, IVersionedId vid) {\r
32                 this.name = name;\r
33                 this.URI = URI;\r
34                 this.vid = vid;\r
35         }\r
36 \r
37         public String getName() {\r
38                 return name;\r
39         }\r
40 \r
41         public void setName(String name) {\r
42                 this.name = name;\r
43         }\r
44 \r
45         public String getURI() {\r
46                 return URI;\r
47         }\r
48 \r
49         public void setURI(String uRI) {\r
50                 URI = uRI;\r
51         }\r
52 \r
53         public IVersionedId getVid() {\r
54                 return vid;\r
55         }\r
56 \r
57         public void setVid(IVersionedId vid) {\r
58                 this.vid = vid;\r
59         }\r
60 \r
61         @Override\r
62         public int hashCode() {\r
63                 return vid.getId().hashCode() * 31 + vid.getVersion().hashCode();\r
64         }\r
65         \r
66         @Override\r
67         public boolean equals(Object obj) {\r
68                 if (this == obj)\r
69                         return true;\r
70 \r
71                 if (!(obj instanceof IVersionedId))\r
72                         return false;\r
73 \r
74                 IVersionedId vname = (IVersionedId) obj;\r
75                 return vid.getId().equals(vname.getId()) && vid.getVersion().equals(vname.getVersion());\r
76         }\r
77 \r
78         @Override\r
79         public String getId() {\r
80                 return vid.getId();\r
81         }\r
82 \r
83         @Override\r
84         public Version getVersion() {\r
85                 return vid.getVersion();\r
86         }\r
87         \r
88 }\r
89 \r