diff --git a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/Chunk.java b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/Chunk.java index 5e778ac62e..553b4e933d 100644 --- a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/Chunk.java +++ b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/Chunk.java @@ -23,6 +23,7 @@ import java.util.Collections; import java.util.Iterator; import java.util.List; +import java.util.Objects; /** * Encapsulation of a list of items to be processed and possibly a list of failed items to @@ -33,6 +34,7 @@ * * @author Dave Syer * @author Mahmoud Ben Hassine + * @author Jinwoo Bae * @since 2.0 */ public class Chunk implements Iterable, Serializable { @@ -259,6 +261,28 @@ public String toString() { return String.format("[items=%s, skips=%s]", items, skips); } + @Override + public int hashCode() { + return Objects.hash(items, skips, errors, userData, end, busy); + } + + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (!(obj instanceof Chunk)) { + return false; + } + Chunk other = (Chunk) obj; + return Objects.equals(items, other.items) + && Objects.equals(skips, other.skips) + && Objects.equals(errors, other.errors) + && Objects.equals(userData, other.userData) + && end == other.end + && busy == other.busy; + } + } }