package net.pterodactylus.xdcc.data;
+import static com.google.common.base.Preconditions.checkNotNull;
+
import java.util.Collection;
import java.util.Iterator;
import java.util.Map;
*
* @param network
* The network the bot is on
+ * @param name
+ * The name of the bot
*/
- public Bot(Network network) {
- this.network = network;
+ public Bot(Network network, String name) {
+ this.network = checkNotNull(network, "network must not be null");
+ this.name = checkNotNull(name, "name must not be null");
}
//
* @return This bot
*/
public Bot name(String name) {
- this.name = name;
+ this.name = checkNotNull(name, "name must not be null");
return this;
}
//
@Override
+ public boolean equals(Object object) {
+ if (!(object instanceof Bot)) {
+ return false;
+ }
+ Bot bot = (Bot) object;
+ return network().equals(bot.network()) && name().equals(bot.name());
+ }
+
+ @Override
+ public int hashCode() {
+ return network().hashCode() ^ name().hashCode();
+ }
+
+ @Override
public String toString() {
return String.format("%s/%s", name(), network().name());
}
package net.pterodactylus.xdcc.data;
+import static com.google.common.base.Preconditions.checkNotNull;
+
import java.io.OutputStream;
import java.net.InetAddress;
* The pack being downloaded
*/
public Download(Bot bot, Pack pack) {
- this.bot = bot;
- this.pack = pack;
+ this.bot = checkNotNull(bot, "bot must not be null");
+ this.pack = checkNotNull(pack, "pack must not be null");
}
//
return this;
}
+ //
+ // OBJECT METHODS
+ //
+
+ @Override
+ public boolean equals(Object object) {
+ if (!(object instanceof Download)) {
+ return false;
+ }
+ Download download = (Download) object;
+ return bot().equals(download.bot()) && pack().equals(download.pack());
+ }
+
+ @Override
+ public int hashCode() {
+ return bot().hashCode() ^ pack().hashCode();
+ }
+
}
package net.pterodactylus.xdcc.data;
+import static com.google.common.base.Preconditions.checkNotNull;
+
/**
* A pack is a downloadable file offered by a {@link Bot}.
*
* 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");
}
//
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();
+ }
+
}