X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fxdcc%2Fdata%2FChannel.java;h=ffdb6c8c1b7c8d85fd3d9e545649a247dd240a59;hb=bf5c410d06c7a354017ebcd321e365b9cd767081;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..ffdb6c8 100644 --- a/src/main/java/net/pterodactylus/xdcc/data/Channel.java +++ b/src/main/java/net/pterodactylus/xdcc/data/Channel.java @@ -17,6 +17,8 @@ package net.pterodactylus.xdcc.data; +import com.google.common.base.Function; + /** * Defines a channel in a {@link Network}. * @@ -24,6 +26,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 +75,28 @@ 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(); + } + }