Skip to content

Commit 85faf2b

Browse files
Swoftyclaude
andcommitted
feat: add Jackson polymorphism annotations to PartyEvent and FriendEvent hierarchies
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 6a62d8e commit 85faf2b

File tree

94 files changed

+1103
-523
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

94 files changed

+1103
-523
lines changed

commons/src/main/java/net/swofty/commons/friend/FriendEvent.java

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,32 @@
11
package net.swofty.commons.friend;
22

3+
import com.fasterxml.jackson.annotation.JsonSubTypes;
4+
import com.fasterxml.jackson.annotation.JsonTypeInfo;
35
import lombok.Getter;
46
import lombok.NonNull;
7+
import net.swofty.commons.friend.events.*;
8+
import net.swofty.commons.friend.events.response.*;
59
import net.swofty.commons.protocol.Serializer;
610

711
import java.util.Arrays;
812
import java.util.List;
913
import java.util.UUID;
1014

1115
@Getter
16+
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "@type")
17+
@JsonSubTypes({
18+
@JsonSubTypes.Type(value = FriendAcceptRequestEvent.class),
19+
@JsonSubTypes.Type(value = FriendAddRequestEvent.class),
20+
@JsonSubTypes.Type(value = FriendDenyRequestEvent.class),
21+
@JsonSubTypes.Type(value = FriendListRequestEvent.class),
22+
@JsonSubTypes.Type(value = FriendRemoveAllRequestEvent.class),
23+
@JsonSubTypes.Type(value = FriendRemoveRequestEvent.class),
24+
@JsonSubTypes.Type(value = FriendRequestsListEvent.class),
25+
@JsonSubTypes.Type(value = FriendSetNicknameRequestEvent.class),
26+
@JsonSubTypes.Type(value = FriendToggleBestRequestEvent.class),
27+
@JsonSubTypes.Type(value = FriendToggleSettingRequestEvent.class),
28+
@JsonSubTypes.Type(value = FriendResponseEvent.class)
29+
})
1230
public abstract class FriendEvent {
1331
public FriendEvent() {
1432
}

commons/src/main/java/net/swofty/commons/friend/FriendResponseEvent.java

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,26 @@
11
package net.swofty.commons.friend;
22

3+
import com.fasterxml.jackson.annotation.JsonSubTypes;
4+
import com.fasterxml.jackson.annotation.JsonTypeInfo;
5+
import net.swofty.commons.friend.events.response.*;
6+
7+
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "@type")
8+
@JsonSubTypes({
9+
@JsonSubTypes.Type(value = FriendAddedResponseEvent.class),
10+
@JsonSubTypes.Type(value = FriendBestToggledResponseEvent.class),
11+
@JsonSubTypes.Type(value = FriendDeniedResponseEvent.class),
12+
@JsonSubTypes.Type(value = FriendJoinNotificationEvent.class),
13+
@JsonSubTypes.Type(value = FriendLeaveNotificationEvent.class),
14+
@JsonSubTypes.Type(value = FriendListResponseEvent.class),
15+
@JsonSubTypes.Type(value = FriendNicknameSetResponseEvent.class),
16+
@JsonSubTypes.Type(value = FriendRemoveAllResponseEvent.class),
17+
@JsonSubTypes.Type(value = FriendRemovedResponseEvent.class),
18+
@JsonSubTypes.Type(value = FriendRequestExpiredResponseEvent.class),
19+
@JsonSubTypes.Type(value = FriendRequestReceivedResponseEvent.class),
20+
@JsonSubTypes.Type(value = FriendRequestSentResponseEvent.class),
21+
@JsonSubTypes.Type(value = FriendRequestsListResponseEvent.class),
22+
@JsonSubTypes.Type(value = FriendSettingToggledResponseEvent.class)
23+
})
324
public abstract class FriendResponseEvent extends FriendEvent {
425
public FriendResponseEvent() {
526
super();

commons/src/main/java/net/swofty/commons/friend/events/FriendAcceptRequestEvent.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package net.swofty.commons.friend.events;
22

3+
import com.fasterxml.jackson.annotation.JsonCreator;
4+
import com.fasterxml.jackson.annotation.JsonProperty;
35
import lombok.Getter;
46
import net.swofty.commons.friend.FriendEvent;
57
import net.swofty.commons.protocol.Serializer;
@@ -13,7 +15,8 @@ public class FriendAcceptRequestEvent extends FriendEvent {
1315
private final UUID accepter;
1416
private final UUID requester;
1517

16-
public FriendAcceptRequestEvent(UUID accepter, UUID requester) {
18+
@JsonCreator
19+
public FriendAcceptRequestEvent(@JsonProperty("accepter") UUID accepter, @JsonProperty("requester") UUID requester) {
1720
super();
1821
this.accepter = accepter;
1922
this.requester = requester;

commons/src/main/java/net/swofty/commons/friend/events/FriendAddRequestEvent.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package net.swofty.commons.friend.events;
22

3+
import com.fasterxml.jackson.annotation.JsonCreator;
4+
import com.fasterxml.jackson.annotation.JsonProperty;
35
import lombok.Getter;
46
import net.swofty.commons.friend.FriendEvent;
57
import net.swofty.commons.protocol.Serializer;
@@ -13,7 +15,8 @@ public class FriendAddRequestEvent extends FriendEvent {
1315
private final UUID sender;
1416
private final UUID target;
1517

16-
public FriendAddRequestEvent(UUID sender, UUID target) {
18+
@JsonCreator
19+
public FriendAddRequestEvent(@JsonProperty("sender") UUID sender, @JsonProperty("target") UUID target) {
1720
super();
1821
this.sender = sender;
1922
this.target = target;

commons/src/main/java/net/swofty/commons/friend/events/FriendDenyRequestEvent.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package net.swofty.commons.friend.events;
22

3+
import com.fasterxml.jackson.annotation.JsonCreator;
4+
import com.fasterxml.jackson.annotation.JsonProperty;
35
import lombok.Getter;
46
import net.swofty.commons.friend.FriendEvent;
57
import net.swofty.commons.protocol.Serializer;
@@ -13,7 +15,8 @@ public class FriendDenyRequestEvent extends FriendEvent {
1315
private final UUID denier;
1416
private final UUID requester;
1517

16-
public FriendDenyRequestEvent(UUID denier, UUID requester) {
18+
@JsonCreator
19+
public FriendDenyRequestEvent(@JsonProperty("denier") UUID denier, @JsonProperty("requester") UUID requester) {
1720
super();
1821
this.denier = denier;
1922
this.requester = requester;

commons/src/main/java/net/swofty/commons/friend/events/FriendListRequestEvent.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package net.swofty.commons.friend.events;
22

3+
import com.fasterxml.jackson.annotation.JsonCreator;
4+
import com.fasterxml.jackson.annotation.JsonProperty;
35
import lombok.Getter;
46
import net.swofty.commons.friend.FriendEvent;
57
import net.swofty.commons.protocol.Serializer;
@@ -14,7 +16,8 @@ public class FriendListRequestEvent extends FriendEvent {
1416
private final int page;
1517
private final boolean bestOnly;
1618

17-
public FriendListRequestEvent(UUID player, int page, boolean bestOnly) {
19+
@JsonCreator
20+
public FriendListRequestEvent(@JsonProperty("player") UUID player, @JsonProperty("page") int page, @JsonProperty("bestOnly") boolean bestOnly) {
1821
super();
1922
this.player = player;
2023
this.page = page;

commons/src/main/java/net/swofty/commons/friend/events/FriendRemoveAllRequestEvent.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package net.swofty.commons.friend.events;
22

3+
import com.fasterxml.jackson.annotation.JsonCreator;
4+
import com.fasterxml.jackson.annotation.JsonProperty;
35
import lombok.Getter;
46
import net.swofty.commons.friend.FriendEvent;
57
import net.swofty.commons.protocol.Serializer;
@@ -12,7 +14,8 @@
1214
public class FriendRemoveAllRequestEvent extends FriendEvent {
1315
private final UUID player;
1416

15-
public FriendRemoveAllRequestEvent(UUID player) {
17+
@JsonCreator
18+
public FriendRemoveAllRequestEvent(@JsonProperty("player") UUID player) {
1619
super();
1720
this.player = player;
1821
}

commons/src/main/java/net/swofty/commons/friend/events/FriendRemoveRequestEvent.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package net.swofty.commons.friend.events;
22

3+
import com.fasterxml.jackson.annotation.JsonCreator;
4+
import com.fasterxml.jackson.annotation.JsonProperty;
35
import lombok.Getter;
46
import net.swofty.commons.friend.FriendEvent;
57
import net.swofty.commons.protocol.Serializer;
@@ -13,7 +15,8 @@ public class FriendRemoveRequestEvent extends FriendEvent {
1315
private final UUID remover;
1416
private final UUID target;
1517

16-
public FriendRemoveRequestEvent(UUID remover, UUID target) {
18+
@JsonCreator
19+
public FriendRemoveRequestEvent(@JsonProperty("remover") UUID remover, @JsonProperty("target") UUID target) {
1720
super();
1821
this.remover = remover;
1922
this.target = target;

commons/src/main/java/net/swofty/commons/friend/events/FriendRequestsListEvent.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package net.swofty.commons.friend.events;
22

3+
import com.fasterxml.jackson.annotation.JsonCreator;
4+
import com.fasterxml.jackson.annotation.JsonProperty;
35
import lombok.Getter;
46
import net.swofty.commons.friend.FriendEvent;
57
import net.swofty.commons.protocol.Serializer;
@@ -13,7 +15,8 @@ public class FriendRequestsListEvent extends FriendEvent {
1315
private final UUID player;
1416
private final int page;
1517

16-
public FriendRequestsListEvent(UUID player, int page) {
18+
@JsonCreator
19+
public FriendRequestsListEvent(@JsonProperty("player") UUID player, @JsonProperty("page") int page) {
1720
super();
1821
this.player = player;
1922
this.page = page;

commons/src/main/java/net/swofty/commons/friend/events/FriendSetNicknameRequestEvent.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package net.swofty.commons.friend.events;
22

3+
import com.fasterxml.jackson.annotation.JsonCreator;
4+
import com.fasterxml.jackson.annotation.JsonProperty;
35
import lombok.Getter;
46
import net.swofty.commons.friend.FriendEvent;
57
import net.swofty.commons.protocol.Serializer;
@@ -14,7 +16,8 @@ public class FriendSetNicknameRequestEvent extends FriendEvent {
1416
private final UUID target;
1517
private final String nickname;
1618

17-
public FriendSetNicknameRequestEvent(UUID player, UUID target, String nickname) {
19+
@JsonCreator
20+
public FriendSetNicknameRequestEvent(@JsonProperty("player") UUID player, @JsonProperty("target") UUID target, @JsonProperty("nickname") String nickname) {
1821
super();
1922
this.player = player;
2023
this.target = target;

0 commit comments

Comments
 (0)