From 922c3a1c78ac006b3af7200d4dd02f9035629323 Mon Sep 17 00:00:00 2001 From: Him188 <Him188@mamoe.net> Date: Sat, 18 Jan 2020 22:34:58 +0800 Subject: [PATCH] Add @Notnull annotations --- .../src/main/java/net/mamoe/mirai/japt/BlockingBot.java | 2 ++ .../main/java/net/mamoe/mirai/japt/BlockingContacts.java | 5 +++++ .../src/main/java/net/mamoe/mirai/japt/BlockingGroup.java | 8 ++++++++ .../main/java/net/mamoe/mirai/japt/BlockingMember.java | 5 ++++- .../main/kotlin/net/mamoe/mirai/japt/BlockingContacts.kt | 4 +++- 5 files changed, 22 insertions(+), 2 deletions(-) diff --git a/mirai-japt/src/main/java/net/mamoe/mirai/japt/BlockingBot.java b/mirai-japt/src/main/java/net/mamoe/mirai/japt/BlockingBot.java index 428cbc0af..003dc0f1b 100644 --- a/mirai-japt/src/main/java/net/mamoe/mirai/japt/BlockingBot.java +++ b/mirai-japt/src/main/java/net/mamoe/mirai/japt/BlockingBot.java @@ -16,6 +16,7 @@ import org.jetbrains.annotations.Nullable; import java.util.List; +@SuppressWarnings("unused") public interface BlockingBot { /** * 账号信息 @@ -46,6 +47,7 @@ public interface BlockingBot { /** * 获取缓存的 QQ 对象. 若没有对应的缓存, 则会线程安全地创建一个. */ + @NotNull BlockingQQ getQQ(long id); /** diff --git a/mirai-japt/src/main/java/net/mamoe/mirai/japt/BlockingContacts.java b/mirai-japt/src/main/java/net/mamoe/mirai/japt/BlockingContacts.java index de7a3b9cf..e1441b93a 100644 --- a/mirai-japt/src/main/java/net/mamoe/mirai/japt/BlockingContacts.java +++ b/mirai-japt/src/main/java/net/mamoe/mirai/japt/BlockingContacts.java @@ -1,5 +1,6 @@ package net.mamoe.mirai.japt; +import net.mamoe.mirai.Bot; import net.mamoe.mirai.contact.Group; import net.mamoe.mirai.contact.Member; import net.mamoe.mirai.contact.QQ; @@ -19,4 +20,8 @@ public final class BlockingContacts { public static BlockingMember createBlocking(Member member) { return new BlockingMemberImpl(member); } + + public static BlockingBotImpl createBlocking(Bot bot) { + return new BlockingBotImpl(bot); + } } diff --git a/mirai-japt/src/main/java/net/mamoe/mirai/japt/BlockingGroup.java b/mirai-japt/src/main/java/net/mamoe/mirai/japt/BlockingGroup.java index 2805ad9f7..1065cbbac 100644 --- a/mirai-japt/src/main/java/net/mamoe/mirai/japt/BlockingGroup.java +++ b/mirai-japt/src/main/java/net/mamoe/mirai/japt/BlockingGroup.java @@ -1,6 +1,7 @@ package net.mamoe.mirai.japt; import net.mamoe.mirai.data.GroupInfo; +import org.jetbrains.annotations.NotNull; import java.util.Map; @@ -15,18 +16,21 @@ public interface BlockingGroup extends BlockingContact { * 群主 (同步事件更新) * 进行 [updateGroupInfo] 时将会更新这个值. */ + @NotNull BlockingMember getOwner(); /** * 群名称 (同步事件更新) * 进行 [updateGroupInfo] 时将会更新这个值. */ + @NotNull String getName(); /** * 入群公告, 没有时为空字符串. (同步事件更新) * 进行 [updateGroupInfo] 时将会更新这个值. */ + @NotNull String getAnnouncement(); /** @@ -34,11 +38,13 @@ public interface BlockingGroup extends BlockingContact { * <p> * **注意**: 获得的列表仅为这一时刻的成员列表的镜像. 它将不会被更新 */ + @NotNull Map<Long, BlockingMember> getMembers(); /** * 获取群成员. 若此 ID 的成员不存在, 则会抛出 [kotlin.NoSuchElementException] */ + @NotNull BlockingMember getMember(long id); /** @@ -46,6 +52,7 @@ public interface BlockingGroup extends BlockingContact { * * @return 这一时刻的群资料 */ + @NotNull GroupInfo updateGroupInfo(); /** @@ -53,5 +60,6 @@ public interface BlockingGroup extends BlockingContact { */ boolean quit(); + @NotNull String toFullString(); } \ No newline at end of file diff --git a/mirai-japt/src/main/java/net/mamoe/mirai/japt/BlockingMember.java b/mirai-japt/src/main/java/net/mamoe/mirai/japt/BlockingMember.java index bea594a00..c8b543b86 100644 --- a/mirai-japt/src/main/java/net/mamoe/mirai/japt/BlockingMember.java +++ b/mirai-japt/src/main/java/net/mamoe/mirai/japt/BlockingMember.java @@ -1,17 +1,20 @@ package net.mamoe.mirai.japt; import net.mamoe.mirai.contact.MemberPermission; +import org.jetbrains.annotations.NotNull; @SuppressWarnings("unused") public interface BlockingMember { /** * 所在的群 */ + @NotNull BlockingGroup getGroup(); /** * 权限 */ + @NotNull MemberPermission getPermission(); /** @@ -20,7 +23,7 @@ public interface BlockingMember { * @param durationSeconds 持续时间. 精确到秒. 范围区间表示为 `(0s, 30days]`. 超过范围则会抛出异常. * @return 若机器人无权限禁言这个群成员, 返回 `false` */ - Boolean mute(int durationSeconds); + boolean mute(int durationSeconds); /** * 解除禁言 diff --git a/mirai-japt/src/main/kotlin/net/mamoe/mirai/japt/BlockingContacts.kt b/mirai-japt/src/main/kotlin/net/mamoe/mirai/japt/BlockingContacts.kt index e583d33b5..a3ea871ac 100644 --- a/mirai-japt/src/main/kotlin/net/mamoe/mirai/japt/BlockingContacts.kt +++ b/mirai-japt/src/main/kotlin/net/mamoe/mirai/japt/BlockingContacts.kt @@ -2,10 +2,12 @@ package net.mamoe.mirai.japt +import net.mamoe.mirai.Bot import net.mamoe.mirai.contact.Group import net.mamoe.mirai.contact.Member import net.mamoe.mirai.contact.QQ inline fun Group.blocking(): BlockingGroup = BlockingContacts.createBlocking(this) inline fun QQ.blocking(): BlockingQQ = BlockingContacts.createBlocking(this) -inline fun Member.blocking(): BlockingMember = BlockingContacts.createBlocking(this) \ No newline at end of file +inline fun Member.blocking(): BlockingMember = BlockingContacts.createBlocking(this) +inline fun Bot.blocking(): BlockingBot = BlockingContacts.createBlocking(this) \ No newline at end of file