]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Java/Source/GenBuild/org/tianocore/build/id/PackageIdentification.java
Restructuring for better separation of Tool packages.
[mirror_edk2.git] / Tools / Java / Source / GenBuild / org / tianocore / build / id / PackageIdentification.java
diff --git a/Tools/Java/Source/GenBuild/org/tianocore/build/id/PackageIdentification.java b/Tools/Java/Source/GenBuild/org/tianocore/build/id/PackageIdentification.java
new file mode 100644 (file)
index 0000000..9371f6a
--- /dev/null
@@ -0,0 +1,118 @@
+/** @file\r
+This file is to define  PackageIdentification class.\r
+\r
+Copyright (c) 2006, Intel Corporation\r
+All rights reserved. This program and the accompanying materials\r
+are licensed and made available under the terms and conditions of the BSD License\r
+which accompanies this distribution.  The full text of the license may be found at\r
+http://opensource.org/licenses/bsd-license.php\r
+\r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+**/\r
+\r
+package org.tianocore.build.id;\r
+import java.io.File;\r
+\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
+    // 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 (version == null || version.trim().equalsIgnoreCase("")) {\r
+            return "package [" + name + "]";\r
+        }\r
+        else {\r
+            return "package [" + name + " " + version + "]";\r
+        }\r
+    }\r
+    \r
+    /**\r
+      get package directory\r
+      @return Package Directory\r
+    **/\r
+    public String getPackageDir(){\r
+        return spdFile.getParent();\r
+    }\r
+    \r
+    /**\r
+      get package relative directory. \r
+      @return package relative directory\r
+    **/\r
+    public String getPackageRelativeDir(){\r
+        String relativeDir =spdFile.getParent().substring(GlobalData.getWorkspacePath().length());\r
+        if(relativeDir.startsWith("\\") || relativeDir.startsWith("/")) {\r
+          relativeDir = relativeDir.substring(1);\r
+        }\r
+        return relativeDir;\r
+    }\r
+    \r
+    public String getName() {\r
+        return name;\r
+    }\r
+}\r