]> git.proxmox.com Git - mirror_edk2.git/blame_incremental - Tools/Java/Source/GenBuild/org/tianocore/build/id/FpdModuleIdentification.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 / FpdModuleIdentification.java
... / ...
CommitLineData
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
14package org.tianocore.build.id;\r
15\r
16\r
17/**\r
18 This class is used to identify a module with Module Guid, Module Version, \r
19 Package Guid, Package Version and Arch. \r
20 \r
21 @since GenBuild 1.0\r
22**/\r
23public class FpdModuleIdentification {\r
24 \r
25 private String arch;\r
26 \r
27 private String fvBinding = "NULL"; // Optional\r
28 \r
29 private ModuleIdentification module;\r
30 \r
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
39 this.arch = arch;\r
40 this.fvBinding = fvBinding;\r
41 this.module = module;\r
42 }\r
43 \r
44 /**\r
45 Constructor Method. \r
46 \r
47 @param arch Build Arch\r
48 @param module ModuleIdentification\r
49 **/\r
50 public FpdModuleIdentification(ModuleIdentification module, String arch){\r
51 this.arch = arch;\r
52 this.module = module;\r
53 }\r
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
65 if ( module.equals(moduleIdObj.module) && arch.equalsIgnoreCase(moduleIdObj.arch)) {\r
66 return true;\r
67 }\r
68 return false;\r
69 }\r
70 else {\r
71 return false;\r
72 }\r
73 }\r
74\r
75 /**\r
76 @param fvBinding\r
77 **/\r
78 public void setFvBinding(String fvBinding) {\r
79 this.fvBinding = fvBinding;\r
80 }\r
81\r
82 /* (non-Javadoc)\r
83 @see java.lang.Object#toString()\r
84 **/\r
85 public String toString(){\r
86 return arch + ":" + module;\r
87 }\r
88\r
89 /**\r
90 @return String fvBinding\r
91 **/\r
92 public String getFvBinding() {\r
93 return fvBinding;\r
94 }\r
95\r
96 /**\r
97 @return ModuleIdentification module ID\r
98 **/\r
99 public ModuleIdentification getModule() {\r
100 return module;\r
101 }\r
102\r
103 /**\r
104 @param module Module Identification\r
105 **/\r
106 public void setModule(ModuleIdentification module) {\r
107 this.module = module;\r
108 }\r
109\r
110 /**\r
111 @return String arch\r
112 **/\r
113 public String getArch() {\r
114 return arch;\r
115 }\r
116\r
117 /**\r
118 @param arch build ARCH\r
119 **/\r
120 public void setArch(String arch) {\r
121 this.arch = arch;\r
122 }\r
123 \r
124 /* (non-Javadoc)\r
125 @see java.lang.Object#hashCode()\r
126 **/\r
127 public int hashCode(){\r
128 return module.hashCode();\r
129 }\r
130}\r