Commit 922c3a1c authored by Him188's avatar Him188

Add @Notnull annotations

parent 35669b28
...@@ -16,6 +16,7 @@ import org.jetbrains.annotations.Nullable; ...@@ -16,6 +16,7 @@ import org.jetbrains.annotations.Nullable;
import java.util.List; import java.util.List;
@SuppressWarnings("unused")
public interface BlockingBot { public interface BlockingBot {
/** /**
* 账号信息 * 账号信息
...@@ -46,6 +47,7 @@ public interface BlockingBot { ...@@ -46,6 +47,7 @@ public interface BlockingBot {
/** /**
* 获取缓存的 QQ 对象. 若没有对应的缓存, 则会线程安全地创建一个. * 获取缓存的 QQ 对象. 若没有对应的缓存, 则会线程安全地创建一个.
*/ */
@NotNull
BlockingQQ getQQ(long id); BlockingQQ getQQ(long id);
/** /**
......
package net.mamoe.mirai.japt; package net.mamoe.mirai.japt;
import net.mamoe.mirai.Bot;
import net.mamoe.mirai.contact.Group; import net.mamoe.mirai.contact.Group;
import net.mamoe.mirai.contact.Member; import net.mamoe.mirai.contact.Member;
import net.mamoe.mirai.contact.QQ; import net.mamoe.mirai.contact.QQ;
...@@ -19,4 +20,8 @@ public final class BlockingContacts { ...@@ -19,4 +20,8 @@ public final class BlockingContacts {
public static BlockingMember createBlocking(Member member) { public static BlockingMember createBlocking(Member member) {
return new BlockingMemberImpl(member); return new BlockingMemberImpl(member);
} }
public static BlockingBotImpl createBlocking(Bot bot) {
return new BlockingBotImpl(bot);
}
} }
package net.mamoe.mirai.japt; package net.mamoe.mirai.japt;
import net.mamoe.mirai.data.GroupInfo; import net.mamoe.mirai.data.GroupInfo;
import org.jetbrains.annotations.NotNull;
import java.util.Map; import java.util.Map;
...@@ -15,18 +16,21 @@ public interface BlockingGroup extends BlockingContact { ...@@ -15,18 +16,21 @@ public interface BlockingGroup extends BlockingContact {
* 群主 (同步事件更新) * 群主 (同步事件更新)
* 进行 [updateGroupInfo] 时将会更新这个值. * 进行 [updateGroupInfo] 时将会更新这个值.
*/ */
@NotNull
BlockingMember getOwner(); BlockingMember getOwner();
/** /**
* 群名称 (同步事件更新) * 群名称 (同步事件更新)
* 进行 [updateGroupInfo] 时将会更新这个值. * 进行 [updateGroupInfo] 时将会更新这个值.
*/ */
@NotNull
String getName(); String getName();
/** /**
* 入群公告, 没有时为空字符串. (同步事件更新) * 入群公告, 没有时为空字符串. (同步事件更新)
* 进行 [updateGroupInfo] 时将会更新这个值. * 进行 [updateGroupInfo] 时将会更新这个值.
*/ */
@NotNull
String getAnnouncement(); String getAnnouncement();
/** /**
...@@ -34,11 +38,13 @@ public interface BlockingGroup extends BlockingContact { ...@@ -34,11 +38,13 @@ public interface BlockingGroup extends BlockingContact {
* <p> * <p>
* **注意**: 获得的列表仅为这一时刻的成员列表的镜像. 它将不会被更新 * **注意**: 获得的列表仅为这一时刻的成员列表的镜像. 它将不会被更新
*/ */
@NotNull
Map<Long, BlockingMember> getMembers(); Map<Long, BlockingMember> getMembers();
/** /**
* 获取群成员. 若此 ID 的成员不存在, 则会抛出 [kotlin.NoSuchElementException] * 获取群成员. 若此 ID 的成员不存在, 则会抛出 [kotlin.NoSuchElementException]
*/ */
@NotNull
BlockingMember getMember(long id); BlockingMember getMember(long id);
/** /**
...@@ -46,6 +52,7 @@ public interface BlockingGroup extends BlockingContact { ...@@ -46,6 +52,7 @@ public interface BlockingGroup extends BlockingContact {
* *
* @return 这一时刻的群资料 * @return 这一时刻的群资料
*/ */
@NotNull
GroupInfo updateGroupInfo(); GroupInfo updateGroupInfo();
/** /**
...@@ -53,5 +60,6 @@ public interface BlockingGroup extends BlockingContact { ...@@ -53,5 +60,6 @@ public interface BlockingGroup extends BlockingContact {
*/ */
boolean quit(); boolean quit();
@NotNull
String toFullString(); String toFullString();
} }
\ No newline at end of file
package net.mamoe.mirai.japt; package net.mamoe.mirai.japt;
import net.mamoe.mirai.contact.MemberPermission; import net.mamoe.mirai.contact.MemberPermission;
import org.jetbrains.annotations.NotNull;
@SuppressWarnings("unused") @SuppressWarnings("unused")
public interface BlockingMember { public interface BlockingMember {
/** /**
* 所在的群 * 所在的群
*/ */
@NotNull
BlockingGroup getGroup(); BlockingGroup getGroup();
/** /**
* 权限 * 权限
*/ */
@NotNull
MemberPermission getPermission(); MemberPermission getPermission();
/** /**
...@@ -20,7 +23,7 @@ public interface BlockingMember { ...@@ -20,7 +23,7 @@ public interface BlockingMember {
* @param durationSeconds 持续时间. 精确到秒. 范围区间表示为 `(0s, 30days]`. 超过范围则会抛出异常. * @param durationSeconds 持续时间. 精确到秒. 范围区间表示为 `(0s, 30days]`. 超过范围则会抛出异常.
* @return 若机器人无权限禁言这个群成员, 返回 `false` * @return 若机器人无权限禁言这个群成员, 返回 `false`
*/ */
Boolean mute(int durationSeconds); boolean mute(int durationSeconds);
/** /**
* 解除禁言 * 解除禁言
......
...@@ -2,10 +2,12 @@ ...@@ -2,10 +2,12 @@
package net.mamoe.mirai.japt package net.mamoe.mirai.japt
import net.mamoe.mirai.Bot
import net.mamoe.mirai.contact.Group import net.mamoe.mirai.contact.Group
import net.mamoe.mirai.contact.Member import net.mamoe.mirai.contact.Member
import net.mamoe.mirai.contact.QQ import net.mamoe.mirai.contact.QQ
inline fun Group.blocking(): BlockingGroup = BlockingContacts.createBlocking(this) inline fun Group.blocking(): BlockingGroup = BlockingContacts.createBlocking(this)
inline fun QQ.blocking(): BlockingQQ = BlockingContacts.createBlocking(this) inline fun QQ.blocking(): BlockingQQ = BlockingContacts.createBlocking(this)
inline fun Member.blocking(): BlockingMember = BlockingContacts.createBlocking(this) inline fun Member.blocking(): BlockingMember = BlockingContacts.createBlocking(this)
\ No newline at end of file inline fun Bot.blocking(): BlockingBot = BlockingContacts.createBlocking(this)
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment