From 5e7e3d39b2afe8e7266dd3e3a8ea209520b9e7b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20Westk=C3=A4mper?= Date: Wed, 5 Nov 2014 20:24:07 +0200 Subject: [PATCH] Improve equals contract --- pom.xml | 2 +- .../com/mysema/codegen/model/TypeExtends.java | 15 ++++++++++++++- .../java/com/mysema/codegen/model/TypeSuper.java | 14 ++++++++++++++ 3 files changed, 29 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index c23b0bf56..4f751bbe3 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 com.mysema.codegen codegen - 0.6.4 + 0.6.5 Codegen Code generation and compilation for Java diff --git a/src/main/java/com/mysema/codegen/model/TypeExtends.java b/src/main/java/com/mysema/codegen/model/TypeExtends.java index 90197dddc..5e83a0a95 100644 --- a/src/main/java/com/mysema/codegen/model/TypeExtends.java +++ b/src/main/java/com/mysema/codegen/model/TypeExtends.java @@ -16,6 +16,7 @@ package com.mysema.codegen.model; import java.util.Collections; import java.util.Set; +import com.google.common.base.Objects; import com.google.common.base.Strings; /** @@ -45,7 +46,7 @@ public class TypeExtends extends TypeAdapter { @Override public String getGenericName(boolean asArgType, Set packages, Set classes) { if (!asArgType) { - if (type.equals(Types.OBJECT)) { + if (Types.OBJECT.equals(type)) { return "?"; } else { String genericName = super.getGenericName(true, packages, classes); @@ -60,4 +61,16 @@ public class TypeExtends extends TypeAdapter { return varName; } + @Override + public boolean equals(Object o) { + if (o == this) { + return true; + } else if (o instanceof TypeExtends) { + return Objects.equal(((TypeExtends) o).varName, varName) + && ((TypeExtends) o).type.equals(type); + } else { + return false; + } + } + } diff --git a/src/main/java/com/mysema/codegen/model/TypeSuper.java b/src/main/java/com/mysema/codegen/model/TypeSuper.java index 294d9a042..62d668c67 100644 --- a/src/main/java/com/mysema/codegen/model/TypeSuper.java +++ b/src/main/java/com/mysema/codegen/model/TypeSuper.java @@ -16,6 +16,8 @@ package com.mysema.codegen.model; import java.util.Collections; import java.util.Set; +import com.google.common.base.Objects; + /** * TypeSuper is a Type for type variables and wildcard types * @@ -63,4 +65,16 @@ public class TypeSuper extends TypeAdapter { public String getVarName() { return varName; } + + @Override + public boolean equals(Object o) { + if (o == this) { + return true; + } else if (o instanceof TypeSuper) { + return Objects.equal(((TypeSuper) o).varName, varName) + && ((TypeSuper) o).superType.equals(superType); + } else { + return false; + } + } }