]> git.proxmox.com Git - mirror_edk2.git/blame_incremental - Tools/Java/Source/GenBuild/org/tianocore/build/id/ModuleIdentification.java
1. Update to just keep several line JAVA related msg; 2. Remove file PropertyManager...
[mirror_edk2.git] / Tools / Java / Source / GenBuild / org / tianocore / build / id / ModuleIdentification.java
... / ...
CommitLineData
1/** @file\r
2This file is to define ModuleIdentification class.\r
3\r
4Copyright (c) 2006, Intel Corporation\r
5All rights reserved. This program and the accompanying materials\r
6are licensed and made available under the terms and conditions of the BSD License\r
7which accompanies this distribution. The full text of the license may be found at\r
8http://opensource.org/licenses/bsd-license.php\r
9\r
10THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
11WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
12**/\r
13\r
14package org.tianocore.build.id;\r
15\r
16import java.io.File;\r
17\r
18/**\r
19 This class is used to identify a module with Module Guid, Module Version, \r
20 Package Guid, Package Version. \r
21\r
22 @since GenBuild 1.0\r
23**/\r
24public class ModuleIdentification extends Identification {\r
25 \r
26 private PackageIdentification packageId;\r
27 \r
28 private File msaFile;\r
29 \r
30 private String moduleType;\r
31 \r
32 private boolean isLibrary = false;\r
33\r
34 /**\r
35 @param guid Guid\r
36 @param version Version\r
37 **/\r
38 public ModuleIdentification(String guid, String version){\r
39 super(guid, version);\r
40 }\r
41 \r
42 /**\r
43 @param guid Guid\r
44 @param version Version\r
45 @param packageId Package Identification\r
46 **/\r
47 public ModuleIdentification(String guid, String version, PackageIdentification packageId){\r
48 super(guid, version);\r
49 this.packageId = packageId;\r
50 }\r
51 \r
52 /**\r
53 @param name Name\r
54 @param guid Guid\r
55 @param version Version\r
56 **/\r
57 public ModuleIdentification(String name, String guid, String version){\r
58 super(name, guid, version);\r
59 }\r
60 \r
61 /**\r
62 @param name Name\r
63 @param guid Guid\r
64 @param version Version\r
65 @param packageId PackageIdentification\r
66 **/\r
67 public ModuleIdentification(String name, String guid, String version, PackageIdentification packageId){\r
68 super(name, guid, version);\r
69 this.packageId = packageId;\r
70 }\r
71 \r
72 /**\r
73 @return boolean is this module is library\r
74 **/\r
75 public boolean isLibrary() {\r
76 return isLibrary;\r
77 }\r
78\r
79 /**\r
80 @param isLibrary \r
81 **/\r
82 public void setLibrary(boolean isLibrary) {\r
83 this.isLibrary = isLibrary;\r
84 }\r
85\r
86 /**\r
87 @return MSA File\r
88 **/\r
89 public File getMsaFile() {\r
90 return msaFile;\r
91 }\r
92 \r
93 /**\r
94 @return Module relative path to package\r
95 **/\r
96 public String getModuleRelativePath() {\r
97 if (msaFile.getParent().length() == packageId.getPackageDir().length()) {\r
98 return ".";\r
99 }\r
100 return msaFile.getParent().substring(packageId.getPackageDir().length() + 1);\r
101 }\r
102\r
103 /**\r
104 @param msaFile Set Msa File\r
105 **/\r
106 public void setMsaFile(File msaFile) {\r
107 this.msaFile = msaFile;\r
108 }\r
109 \r
110 public boolean equals(Object obj) {\r
111 if (obj instanceof ModuleIdentification) {\r
112 ModuleIdentification id = (ModuleIdentification)obj;\r
113 if (guid.equalsIgnoreCase(id.getGuid()) && packageId.equals(id.getPackage())) {\r
114 if (version == null || id.version == null) {\r
115 return true;\r
116 }\r
117 else if (version.trim().equalsIgnoreCase("") || id.version.trim().equalsIgnoreCase("")){\r
118 return true;\r
119 }\r
120 else if (version.equalsIgnoreCase(id.version)) {\r
121 return true;\r
122 }\r
123 }\r
124 return false;\r
125 }\r
126 else {\r
127 return super.equals(obj);\r
128 }\r
129 }\r
130 \r
131 public String toString() {\r
132 if (version == null || version.trim().equalsIgnoreCase("")) {\r
133 return "Module [" + name + "] in " + packageId;\r
134 }\r
135 else {\r
136 return "Module [" + name + " " + version + "] in " + packageId; \r
137 }\r
138 }\r
139\r
140 /**\r
141 @param packageId set package identification\r
142 **/\r
143 public void setPackage(PackageIdentification packageId) {\r
144 this.packageId = packageId;\r
145 }\r
146\r
147 /**\r
148 @return get package identification\r
149 **/\r
150 public PackageIdentification getPackage() {\r
151 return packageId;\r
152 }\r
153\r
154 /**\r
155 @return get module type\r
156 **/\r
157 public String getModuleType() {\r
158 return moduleType;\r
159 }\r
160\r
161 /**\r
162 @param moduleType set module type\r
163 **/\r
164 public void setModuleType(String moduleType) {\r
165 this.moduleType = moduleType;\r
166 }\r
167 \r
168 public String getName() {\r
169 return name;\r
170 }\r
171}\r