\r
import org.tianocore.build.global.GlobalData;\r
\r
+/**\r
+ This class is used to identify a package. \r
+\r
+ @since GenBuild 1.0\r
+**/\r
public class PackageIdentification extends Identification{\r
\r
//\r
- // It is optional\r
+ // SPD file\r
//\r
private File spdFile;\r
\r
+ /**\r
+ @param guid Guid\r
+ @param version Version\r
+ **/\r
public PackageIdentification(String guid, String version){\r
super(guid, version);\r
}\r
\r
+ /**\r
+ @param name Name\r
+ @param guid Guid\r
+ @param version Version\r
+ **/\r
public PackageIdentification(String name, String guid, String version){\r
super(name, guid, version);\r
}\r
\r
+ /**\r
+ @param name Name\r
+ @param guid Guid\r
+ @param version Version\r
+ @param spdFilename SPD file name\r
+ **/\r
public PackageIdentification(String name, String guid, String version, String spdFilename){\r
super(name, guid, version);\r
this.spdFile = new File(spdFilename);\r
}\r
\r
+ /**\r
+ @param name Name\r
+ @param guid Guid\r
+ @param version Version\r
+ @param spdFile SPD file\r
+ **/\r
public PackageIdentification(String name, String guid, String version, File spdFile){\r
super(name, guid, version);\r
this.spdFile = spdFile;\r
}\r
\r
+ /**\r
+ set SPD file.\r
+ @param spdFile SPD file\r
+ **/\r
public void setSpdFile(File spdFile) {\r
this.spdFile = spdFile;\r
}\r
\r
+ /**\r
+ get SPD file\r
+ @return SPD file\r
+ **/\r
public File getSpdFile() {\r
return spdFile;\r
}\r
\r
public String toString(){\r
- if (name == null) {\r
- GlobalData.refreshPackageIdentification(this);\r
- }\r
if (version == null || version.trim().equalsIgnoreCase("")) {\r
return "package [" + name + "]";\r
}\r
}\r
}\r
\r
+ /**\r
+ get package directory\r
+ @return Package Directory\r
+ **/\r
public String getPackageDir(){\r
- prepareSpdFile();\r
return spdFile.getParent();\r
}\r
\r
+ /**\r
+ get package relative directory. \r
+ @return package relative directory\r
+ **/\r
public String getPackageRelativeDir(){\r
- prepareSpdFile();\r
String relativeDir =spdFile.getParent().substring(GlobalData.getWorkspacePath().length());\r
if(relativeDir.startsWith("\\") || relativeDir.startsWith("/")) {\r
relativeDir = relativeDir.substring(1);\r
return relativeDir;\r
}\r
\r
- private void prepareSpdFile(){\r
- if (spdFile == null) {\r
- GlobalData.refreshPackageIdentification(this);\r
- }\r
- }\r
- \r
public String getName() {\r
- if (name == null) {\r
- GlobalData.refreshPackageIdentification(this);\r
- }\r
return name;\r
}\r
}\r