X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fxdcc%2Fdata%2FChannel.java;h=f4c8d010e0c257199d69a90b48497c7a8bdef1c0;hb=7e12b9da7bb49b20e1dbc95de0d89b07d8cda0e4;hp=59be3318fcfecb7b2631fd8eb7e67b6b48fb9e5a;hpb=3404d481880e426bce9a75f727ba065aea427de2;p=xudocci.git diff --git a/src/main/java/net/pterodactylus/xdcc/data/Channel.java b/src/main/java/net/pterodactylus/xdcc/data/Channel.java index 59be331..f4c8d01 100644 --- a/src/main/java/net/pterodactylus/xdcc/data/Channel.java +++ b/src/main/java/net/pterodactylus/xdcc/data/Channel.java @@ -17,6 +17,10 @@ package net.pterodactylus.xdcc.data; +import static java.lang.String.format; + +import com.google.common.base.Function; + /** * Defines a channel in a {@link Network}. * @@ -24,6 +28,14 @@ package net.pterodactylus.xdcc.data; */ public class Channel { + /** Function to convert a channel to its network. */ + public static final Function TO_NETWORK = new Function() { + @Override + public Network apply(Channel channel) { + return channel.network(); + } + }; + /** The network this channel belongs to. */ private final Network network; @@ -65,4 +77,33 @@ public class Channel { return name; } + // + // OBJECT METHODS + // + + @Override + public boolean equals(Object object) { + if (!(object instanceof Channel)) { + return false; + } + Channel channel = (Channel) object; + if (!network().equals(channel.network())) { + return false; + } + if (!name().equalsIgnoreCase(channel.name())) { + return false; + } + return true; + } + + @Override + public int hashCode() { + return network().hashCode() ^ name().hashCode(); + } + + @Override + public String toString() { + return format("%s/%s", name(), network().name()); + } + }