Send events when downloads start and finish.
[xudocci.git] / src / main / java / net / pterodactylus / xdcc / data / Network.java
index 17453a1..2b13478 100644 (file)
 
 package net.pterodactylus.xdcc.data;
 
+import static com.google.common.base.Preconditions.checkNotNull;
+
 import java.util.Collection;
 
-import com.beust.jcommander.internal.Sets;
+import com.google.common.collect.Sets;
 
 /**
  * Defines a network.
@@ -39,9 +41,11 @@ public class Network {
         *
         * @param name
         *              The name of the network
+        * @throws NullPointerException
+        *              if {@code name} is {@code null}
         */
-       private Network(String name) {
-               this.name = name;
+       private Network(String name) throws NullPointerException {
+               this.name = checkNotNull(name, "name must not be null");
        }
 
        //
@@ -79,6 +83,20 @@ public class Network {
        //
 
        @Override
+       public boolean equals(Object object) {
+               if (!(object instanceof Network)) {
+                       return false;
+               }
+               Network network = (Network) object;
+               return name().equals(network.name());
+       }
+
+       @Override
+       public int hashCode() {
+               return name().hashCode();
+       }
+
+       @Override
        public String toString() {
                return String.format("%s(%d servers)", name(), servers().size());
        }