--- /dev/null
+/** @file\r
+This file is to define Identification 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
+\r
+/**\r
+ This class is used to identify with its GUID and Version. \r
+\r
+ @since GenBuild 1.0\r
+**/\r
+public class Identification {\r
+\r
+ String name;\r
+ \r
+ String guid;\r
+ \r
+ String version;\r
+ \r
+ /**\r
+ @param name Name\r
+ @param guid Guid\r
+ @param version Version\r
+ **/\r
+ Identification(String name, String guid, String version){\r
+ this.name = name;\r
+ this.guid = guid;\r
+ this.version = version;\r
+ }\r
+ \r
+ /**\r
+ @param guid Guid\r
+ @param version Version\r
+ **/\r
+ Identification(String guid, String version){\r
+ this.guid = guid;\r
+ this.version = version;\r
+ }\r
+ \r
+ /* (non-Javadoc)\r
+ @see java.lang.Object#equals(java.lang.Object)\r
+ **/\r
+ public boolean equals(Object obj) {\r
+ if (obj instanceof Identification) {\r
+ Identification id = (Identification)obj;\r
+ if ( guid.equalsIgnoreCase(id.guid)) {\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
+ /**\r
+ @param name Name\r
+ **/\r
+ public void setName(String name) {\r
+ this.name = name;\r
+ }\r
+\r
+ /**\r
+ @param guid Guid\r
+ **/\r
+ public void setGuid(String guid) {\r
+ this.guid = guid;\r
+ }\r
+\r
+ /**\r
+ @param version Version\r
+ **/\r
+ public void setVersion(String version) {\r
+ this.version = version;\r
+ }\r
+\r
+ public String getGuid() {\r
+ return guid;\r
+ }\r
+\r
+ /**\r
+ @return String Name\r
+ **/\r
+ public String getName() {\r
+ return name;\r
+ }\r
+\r
+ /**\r
+ @return String Version\r
+ **/\r
+ public String getVersion() {\r
+ return version;\r
+ }\r
+ \r
+ public String toGuidString() {\r
+ if (version == null || version.trim().equalsIgnoreCase("")) {\r
+ return "[" + guid + "]";\r
+ }\r
+ else {\r
+ return "[" + guid + "] and version [" + version + "]"; \r
+ }\r
+ }\r
+ \r
+ /* (non-Javadoc)\r
+ @see java.lang.Object#hashCode()\r
+ **/\r
+ public int hashCode(){\r
+ return guid.toLowerCase().hashCode();\r
+ }\r
+}\r