X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fxdcc%2Fdata%2FNetwork.java;h=d78e71c882ae09b26ff94de18f18948dbb3567ad;hb=2d0f3614a96b0d8f7d5666c65ab80b3cbf5349ec;hp=17453a185667fe4ff9b6bd6b050b2bc9135cebdc;hpb=ed9bb3b5ae3b4d4c9ac086bab6a8d7ca3412e237;p=xudocci.git diff --git a/src/main/java/net/pterodactylus/xdcc/data/Network.java b/src/main/java/net/pterodactylus/xdcc/data/Network.java index 17453a1..d78e71c 100644 --- a/src/main/java/net/pterodactylus/xdcc/data/Network.java +++ b/src/main/java/net/pterodactylus/xdcc/data/Network.java @@ -17,9 +17,11 @@ 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()); } @@ -196,6 +214,20 @@ public class Network { } /** + * Adds the given port numbers to the list of unencrypted port numbers. + * + * @param ports + * The port numbers to add + * @return This server builder + */ + public ServerBuilder ports(int... ports) { + for (int port : ports) { + unencryptedPorts.add(port); + } + return this; + } + + /** * Adds the given port number to the list of encrypted port numbers. * * @param sslPort @@ -208,6 +240,20 @@ public class Network { } /** + * Adds the given port numbers to the list of encrypted port numbers. + * + * @param sslPorts + * The port numbers to add + * @return This server builder + */ + public ServerBuilder sslPorts(int... sslPorts) { + for (int sslPort : sslPorts) { + encryptedPorts.add(sslPort); + } + return this; + } + + /** * Builds the server, adds it to the parent network builder and returns the * network builder. *