]> git.proxmox.com Git - mirror_edk2.git/blame - Tools/Java/Source/GenBuild/org/tianocore/build/id/FpdModuleIdentification.java
Restructuring for better separation of Tool packages.
[mirror_edk2.git] / Tools / Java / Source / GenBuild / org / tianocore / build / id / FpdModuleIdentification.java
CommitLineData
878ddf1f 1/** @file\r
2 Java class FpdModuleIdentification is used to present a module identification\r
3 from BaseName, GUID, Version, PackageName, and ARCH. \r
4 \r
5Copyright (c) 2006, Intel Corporation\r
6All rights reserved. This program and the accompanying materials\r
7are licensed and made available under the terms and conditions of the BSD License\r
8which accompanies this distribution. The full text of the license may be found at\r
9http://opensource.org/licenses/bsd-license.php\r
10\r
11THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
12WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
13**/\r
a29c47e0 14package org.tianocore.build.id;\r
15\r
878ddf1f 16\r
17/**\r
01413f0c 18 This class is used to identify a module with Module Guid, Module Version, \r
19 Package Guid, Package Version and Arch. \r
878ddf1f 20 \r
21 @since GenBuild 1.0\r
01413f0c 22**/\r
878ddf1f 23public class FpdModuleIdentification {\r
24 \r
25 private String arch;\r
26 \r
a29c47e0 27 private String fvBinding = "NULL"; // Optional\r
878ddf1f 28 \r
a29c47e0 29 private ModuleIdentification module;\r
878ddf1f 30 \r
01413f0c 31 /**\r
32 Constructor Method. \r
33 \r
34 @param arch Build Arch\r
35 @param fvBinding Belong to what FVs\r
36 @param module ModuleIdentification\r
37 **/\r
38 public FpdModuleIdentification(String arch, String fvBinding, ModuleIdentification module){\r
878ddf1f 39 this.arch = arch;\r
a29c47e0 40 this.fvBinding = fvBinding;\r
a29c47e0 41 this.module = module;\r
878ddf1f 42 }\r
43 \r
01413f0c 44 /**\r
45 Constructor Method. \r
46 \r
47 @param arch Build Arch\r
48 @param module ModuleIdentification\r
49 **/\r
a29c47e0 50 public FpdModuleIdentification(ModuleIdentification module, String arch){\r
51 this.arch = arch;\r
52 this.module = module;\r
53 }\r
878ddf1f 54 /**\r
55 Override java.lang.Object#equals. \r
56 \r
57 <p>Currently, use BaseName and ARCH to identify a module. It will enhance\r
58 in the next version. </p>\r
59 \r
60 @see java.lang.Object#equals(java.lang.Object)\r
61 **/\r
62 public boolean equals(Object obj) {\r
63 if (obj instanceof FpdModuleIdentification) {\r
64 FpdModuleIdentification moduleIdObj = (FpdModuleIdentification)obj;\r
a29c47e0 65 if ( module.equals(moduleIdObj.module) && arch.equalsIgnoreCase(moduleIdObj.arch)) {\r
878ddf1f 66 return true;\r
67 }\r
878ddf1f 68 return false;\r
69 }\r
70 else {\r
a29c47e0 71 return false;\r
878ddf1f 72 }\r
73 }\r
878ddf1f 74\r
01413f0c 75 /**\r
76 @param fvBinding\r
77 **/\r
878ddf1f 78 public void setFvBinding(String fvBinding) {\r
79 this.fvBinding = fvBinding;\r
80 }\r
81\r
01413f0c 82 /* (non-Javadoc)\r
83 @see java.lang.Object#toString()\r
84 **/\r
878ddf1f 85 public String toString(){\r
a29c47e0 86 return arch + ":" + module;\r
878ddf1f 87 }\r
88\r
01413f0c 89 /**\r
90 @return String fvBinding\r
91 **/\r
a29c47e0 92 public String getFvBinding() {\r
93 return fvBinding;\r
878ddf1f 94 }\r
95\r
01413f0c 96 /**\r
97 @return ModuleIdentification module ID\r
98 **/\r
a29c47e0 99 public ModuleIdentification getModule() {\r
100 return module;\r
878ddf1f 101 }\r
102\r
01413f0c 103 /**\r
104 @param module Module Identification\r
105 **/\r
a29c47e0 106 public void setModule(ModuleIdentification module) {\r
107 this.module = module;\r
878ddf1f 108 }\r
109\r
01413f0c 110 /**\r
111 @return String arch\r
112 **/\r
878ddf1f 113 public String getArch() {\r
114 return arch;\r
115 }\r
116\r
01413f0c 117 /**\r
118 @param arch build ARCH\r
119 **/\r
a29c47e0 120 public void setArch(String arch) {\r
121 this.arch = arch;\r
878ddf1f 122 }\r
a29c47e0 123 \r
01413f0c 124 /* (non-Javadoc)\r
125 @see java.lang.Object#hashCode()\r
126 **/\r
a29c47e0 127 public int hashCode(){\r
128 return module.hashCode();\r
878ddf1f 129 }\r
130}\r