+++ /dev/null
-/** @file\r
-This file is to define ModuleIdentification 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
-\r
-import java.io.File;\r
-\r
-/**\r
- This class is used to identify a module with Module Guid, Module Version, \r
- Package Guid, Package Version. \r
-\r
- @since GenBuild 1.0\r
-**/\r
-public class ModuleIdentification extends Identification {\r
- \r
- private PackageIdentification packageId;\r
- \r
- private File msaFile;\r
- \r
- private String moduleType;\r
- \r
- private boolean isLibrary = false;\r
-\r
- /**\r
- @param guid Guid\r
- @param version Version\r
- **/\r
- public ModuleIdentification(String guid, String version){\r
- super(guid, version);\r
- }\r
- \r
- /**\r
- @param guid Guid\r
- @param version Version\r
- @param packageId Package Identification\r
- **/\r
- public ModuleIdentification(String guid, String version, PackageIdentification packageId){\r
- super(guid, version);\r
- this.packageId = packageId;\r
- }\r
- \r
- /**\r
- @param name Name\r
- @param guid Guid\r
- @param version Version\r
- **/\r
- public ModuleIdentification(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 packageId PackageIdentification\r
- **/\r
- public ModuleIdentification(String name, String guid, String version, PackageIdentification packageId){\r
- super(name, guid, version);\r
- this.packageId = packageId;\r
- }\r
- \r
- /**\r
- @return boolean is this module is library\r
- **/\r
- public boolean isLibrary() {\r
- return isLibrary;\r
- }\r
-\r
- /**\r
- @param isLibrary \r
- **/\r
- public void setLibrary(boolean isLibrary) {\r
- this.isLibrary = isLibrary;\r
- }\r
-\r
- /**\r
- @return MSA File\r
- **/\r
- public File getMsaFile() {\r
- return msaFile;\r
- }\r
- \r
- /**\r
- @return Module relative path to package\r
- **/\r
- public String getModuleRelativePath() {\r
- if (msaFile.getParent().length() == packageId.getPackageDir().length()) {\r
- return ".";\r
- }\r
- return msaFile.getParent().substring(packageId.getPackageDir().length() + 1);\r
- }\r
-\r
- /**\r
- @param msaFile Set Msa File\r
- **/\r
- public void setMsaFile(File msaFile) {\r
- this.msaFile = msaFile;\r
- }\r
- \r
- public boolean equals(Object obj) {\r
- if (obj instanceof ModuleIdentification) {\r
- ModuleIdentification id = (ModuleIdentification)obj;\r
- if (guid.equalsIgnoreCase(id.getGuid()) && packageId.equals(id.getPackage())) {\r
- if (version == null || id.version == null) {\r
- return true;\r
- }\r
- else if (version.trim().equalsIgnoreCase("") || id.version.trim().equalsIgnoreCase("")){\r
- return true;\r
- }\r
- else if (version.equalsIgnoreCase(id.version)) {\r
- return true;\r
- }\r
- }\r
- return false;\r
- }\r
- else {\r
- return super.equals(obj);\r
- }\r
- }\r
- \r
- public String toString() {\r
- if (version == null || version.trim().equalsIgnoreCase("")) {\r
- return "Module [" + name + "] in " + packageId;\r
- }\r
- else {\r
- return "Module [" + name + " " + version + "] in " + packageId; \r
- }\r
- }\r
-\r
- /**\r
- @param packageId set package identification\r
- **/\r
- public void setPackage(PackageIdentification packageId) {\r
- this.packageId = packageId;\r
- }\r
-\r
- /**\r
- @return get package identification\r
- **/\r
- public PackageIdentification getPackage() {\r
- return packageId;\r
- }\r
-\r
- /**\r
- @return get module type\r
- **/\r
- public String getModuleType() {\r
- return moduleType;\r
- }\r
-\r
- /**\r
- @param moduleType set module type\r
- **/\r
- public void setModuleType(String moduleType) {\r
- this.moduleType = moduleType;\r
- }\r
- \r
- public String getName() {\r
- return name;\r
- }\r
-}\r