X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fxdcc%2Fdata%2FPack.java;h=1372221369f649bd8e35a547fcdeeb22a23d7ba8;hb=b03fa3d20f394bbd953f6733946b6758aed69faf;hp=1ec5a093a9290d326dff41ec1d04e945b3e98bce;hpb=118763df651faf501ce55d9cd09bbebf00654e8b;p=xudocci.git diff --git a/src/main/java/net/pterodactylus/xdcc/data/Pack.java b/src/main/java/net/pterodactylus/xdcc/data/Pack.java index 1ec5a09..1372221 100644 --- a/src/main/java/net/pterodactylus/xdcc/data/Pack.java +++ b/src/main/java/net/pterodactylus/xdcc/data/Pack.java @@ -17,6 +17,8 @@ package net.pterodactylus.xdcc.data; +import static com.google.common.base.Preconditions.checkNotNull; + /** * A pack is a downloadable file offered by a {@link Bot}. * @@ -44,9 +46,9 @@ public class Pack { * The name of the pack */ public Pack(String id, String size, String name) { - this.id = id; - this.size = size; - this.name = name; + this.id = checkNotNull(id, "id must not be null"); + this.size = checkNotNull(size, "size must not be null"); + this.name = checkNotNull(name, "name must not be null"); } // @@ -83,4 +85,27 @@ public class Pack { return name; } + // + // OBJECT METHODS + // + + @Override + public boolean equals(Object object) { + if (!(object instanceof Pack)) { + return false; + } + Pack pack = (Pack) object; + return id().equals(pack.id()) && name().equals(pack.name()); + } + + @Override + public int hashCode() { + return id().hashCode() ^ name().hashCode(); + } + + @Override + public String toString() { + return String.format("%s [%s] %s", id(), size(), name()); + } + }