From a8f50297ebbc2f94b1998817bc3a91642c70785d Mon Sep 17 00:00:00 2001 From: Sabiq Ihab Date: Sat, 24 Jun 2017 00:31:04 +0000 Subject: [PATCH] add hashCode and equals to Author and Book DTOs --- .../java/com/iluwatar/cqrs/dto/Author.java | 20 +++++++++++++++++++ .../main/java/com/iluwatar/cqrs/dto/Book.java | 19 ++++++++++++++++++ 2 files changed, 39 insertions(+) diff --git a/cqrs/src/main/java/com/iluwatar/cqrs/dto/Author.java b/cqrs/src/main/java/com/iluwatar/cqrs/dto/Author.java index 53bc22d1f..b7a7ae880 100644 --- a/cqrs/src/main/java/com/iluwatar/cqrs/dto/Author.java +++ b/cqrs/src/main/java/com/iluwatar/cqrs/dto/Author.java @@ -1,5 +1,7 @@ package com.iluwatar.cqrs.dto; +import java.util.Objects; + /** * * This is a DTO (Data Transfer Object) author, contains only useful information to be returned @@ -48,4 +50,22 @@ public class Author { return "AuthorDTO [name=" + name + ", email=" + email + ", username=" + username + "]"; } + @Override + public int hashCode() { + return Objects.hash(username, name, email); + } + + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (!(obj instanceof Author)) { + return false; + } + Author other = (Author) obj; + return username.equals(other.getUsername()) && email.equals(other.getEmail()) && name.equals(other.getName()); + + } + } diff --git a/cqrs/src/main/java/com/iluwatar/cqrs/dto/Book.java b/cqrs/src/main/java/com/iluwatar/cqrs/dto/Book.java index 1d4282cd5..b3f0f62d3 100644 --- a/cqrs/src/main/java/com/iluwatar/cqrs/dto/Book.java +++ b/cqrs/src/main/java/com/iluwatar/cqrs/dto/Book.java @@ -1,5 +1,7 @@ package com.iluwatar.cqrs.dto; +import java.util.Objects; + /** * * This is a DTO (Data Transfer Object) book, contains only useful information to be returned @@ -40,4 +42,21 @@ public class Book { return "BookDTO [title=" + title + ", price=" + price + "]"; } + @Override + public int hashCode() { + return Objects.hash(title, price); + } + + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (!(obj instanceof Book)) { + return false; + } + Book book = (Book) obj; + return title.equals(book.getTitle()) && price == book.getPrice(); + } + }