From 8d5cb5f0e066a198f02f16e1e86cdd9b605253f8 Mon Sep 17 00:00:00 2001 From: Thomas Oster <thomas.oster@rwth-aachen.de> Date: Fri, 22 Mar 2013 19:15:54 +0100 Subject: [PATCH] Missing equals and hashCode --- .../liblasercut/drivers/IModelaProperty.java | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/src/com/t_oster/liblasercut/drivers/IModelaProperty.java b/src/com/t_oster/liblasercut/drivers/IModelaProperty.java index d889df4..9ed03cd 100644 --- a/src/com/t_oster/liblasercut/drivers/IModelaProperty.java +++ b/src/com/t_oster/liblasercut/drivers/IModelaProperty.java @@ -20,6 +20,7 @@ package com.t_oster.liblasercut.drivers; import com.t_oster.liblasercut.LaserProperty; +import com.t_oster.liblasercut.platform.Util; /** * @@ -147,4 +148,43 @@ public class IModelaProperty implements LaserProperty return null; } + @Override + public int hashCode() + { + int hash = 13; + for (String k : this.getPropertyKeys()) + { + if (this.getProperty(k) != null) + { + hash = 97 * hash + k.hashCode() + this.getProperty(k).hashCode(); + } + } + hash += super.hashCode(); + return hash; + } + + @Override + public boolean equals(Object obj) + { + if (obj == null) + { + return false; + } + if (getClass() != obj.getClass()) + { + return false; + } + IModelaProperty other = (IModelaProperty) obj; + for (String k : this.getPropertyKeys()) + { + if (Util.differ(this.getProperty(k), other.getProperty(k))) + { + return false; + } + } + return true; + } + + + } -- GitLab