From 237265a40f6a581eeefaec66cbfac3b7a807cd32 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sun, 25 Oct 2015 18:32:16 +0000 Subject: Remove lombok from TypeName --- .../java/org/zwobble/couscous/ast/TypeName.java | 47 ++++++++++++++++++---- .../zwobble/couscous/tests/ValueObjectTests.java | 2 + 2 files changed, 42 insertions(+), 7 deletions(-) (limited to 'src') diff --git a/src/main/java/org/zwobble/couscous/ast/TypeName.java b/src/main/java/org/zwobble/couscous/ast/TypeName.java index cbc0fe0..e25f911 100644 --- a/src/main/java/org/zwobble/couscous/ast/TypeName.java +++ b/src/main/java/org/zwobble/couscous/ast/TypeName.java @@ -1,19 +1,52 @@ package org.zwobble.couscous.ast; -import lombok.AccessLevel; -import lombok.AllArgsConstructor; -import lombok.Value; - -@Value -@AllArgsConstructor(access=AccessLevel.PRIVATE) public class TypeName { public static TypeName of(String qualifiedName) { return new TypeName(qualifiedName); } - String qualifiedName; + private final String qualifiedName; + + private TypeName(String qualifiedName) { + this.qualifiedName = qualifiedName; + } + + public String getQualifiedName() { + return qualifiedName; + } public String getSimpleName() { return qualifiedName.substring(qualifiedName.lastIndexOf(".") + 1); } + + @Override + public String toString() { + return "TypeName(qualifiedName=" + qualifiedName + ")"; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + + ((qualifiedName == null) ? 0 : qualifiedName.hashCode()); + return result; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + TypeName other = (TypeName) obj; + if (qualifiedName == null) { + if (other.qualifiedName != null) + return false; + } else if (!qualifiedName.equals(other.qualifiedName)) + return false; + return true; + } } diff --git a/src/test/java/org/zwobble/couscous/tests/ValueObjectTests.java b/src/test/java/org/zwobble/couscous/tests/ValueObjectTests.java index 59d80d4..99b7f69 100644 --- a/src/test/java/org/zwobble/couscous/tests/ValueObjectTests.java +++ b/src/test/java/org/zwobble/couscous/tests/ValueObjectTests.java @@ -30,6 +30,7 @@ import org.zwobble.couscous.ast.ReturnNode; import org.zwobble.couscous.ast.StaticMethodCallNode; import org.zwobble.couscous.ast.TernaryConditionalNode; import org.zwobble.couscous.ast.ThisReferenceNode; +import org.zwobble.couscous.ast.TypeName; import org.zwobble.couscous.ast.VariableDeclaration; import org.zwobble.couscous.ast.VariableReferenceNode; import org.zwobble.couscous.util.ExtraArrays; @@ -70,6 +71,7 @@ public class ValueObjectTests { {StaticMethodCallNode.class}, {TernaryConditionalNode.class}, {ThisReferenceNode.class}, + {TypeName.class}, {VariableDeclaration.class} }); } -- cgit v1.2.3