File tree Expand file tree Collapse file tree 3 files changed +43
-0
lines changed
src/main/java/org/kitteh/irc/client/library/element/mode Expand file tree Collapse file tree 3 files changed +43
-0
lines changed Original file line number Diff line number Diff line change 2424package org .kitteh .irc .client .library .element .mode ;
2525
2626import org .checkerframework .checker .nullness .qual .NonNull ;
27+ import org .kitteh .irc .client .library .Client ;
28+
29+ import java .util .Optional ;
2730
2831/**
2932 * A channel mode.
@@ -83,4 +86,15 @@ public boolean isParameterRequiredOnSetting() {
8386 * @return type
8487 */
8588 @ NonNull Type getType ();
89+
90+ /**
91+ * Gets a channel mode by character for a given client.
92+ *
93+ * @param client client
94+ * @param mode mode to get
95+ * @return the mode, if present
96+ */
97+ public static @ NonNull Optional <ChannelMode > get (@ NonNull Client client , char mode ) {
98+ return client .getServerInfo ().getChannelModes ().stream ().filter (m -> m .getChar () == mode ).findFirst ();
99+ }
86100}
Original file line number Diff line number Diff line change 2424package org .kitteh .irc .client .library .element .mode ;
2525
2626import org .checkerframework .checker .nullness .qual .NonNull ;
27+ import org .kitteh .irc .client .library .Client ;
28+
29+ import java .util .Optional ;
2730
2831/**
2932 * Describes a channel mode that a user can have, such as op.
@@ -40,4 +43,15 @@ public interface ChannelUserMode extends ChannelMode {
4043 default @ NonNull Type getType () {
4144 return Type .B_PARAMETER_ALWAYS ;
4245 }
46+
47+ /**
48+ * Gets a channel user mode by character for a given client.
49+ *
50+ * @param client client
51+ * @param mode mode to get
52+ * @return the mode, if present
53+ */
54+ public static @ NonNull Optional <ChannelUserMode > get (@ NonNull Client client , char mode ) {
55+ return client .getServerInfo ().getChannelUserModes ().stream ().filter (m -> m .getChar () == mode ).findFirst ();
56+ }
4357}
Original file line number Diff line number Diff line change 2323 */
2424package org .kitteh .irc .client .library .element .mode ;
2525
26+ import org .checkerframework .checker .nullness .qual .NonNull ;
27+ import org .kitteh .irc .client .library .Client ;
28+
29+ import java .util .Optional ;
30+
2631/**
2732 * A user mode.
2833 */
2934public interface UserMode extends Mode {
35+ /**
36+ * Gets a user mode by character for a given client.
37+ *
38+ * @param client client
39+ * @param mode mode to get
40+ * @return the mode, if present
41+ */
42+ public static @ NonNull Optional <UserMode > get (@ NonNull Client client , char mode ) {
43+ return client .getServerInfo ().getUserModes ().stream ().filter (m -> m .getChar () == mode ).findFirst ();
44+ }
3045}
You can’t perform that action at this time.
0 commit comments