Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
1abd592
commit 96153d6
Showing
7 changed files
with
192 additions
and
0 deletions.
There are no files selected for viewing
70 changes: 70 additions & 0 deletions
70
javacord-api/src/main/java/org/javacord/api/entity/server/NsfwLevel.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,70 @@ | ||
package org.javacord.api.entity.server; | ||
|
||
import java.util.Arrays; | ||
|
||
/** | ||
* An enum containing all the NSFW Levels a server can have. | ||
*/ | ||
public enum NsfwLevel { | ||
|
||
/** | ||
* The server has not set a specific NSFW level and | ||
* is considered as neutral. | ||
*/ | ||
DEFAULT(0), | ||
|
||
/** | ||
* The server is considered explicit. | ||
*/ | ||
EXPLICIT(1), | ||
|
||
/** | ||
* The server is safe for work. | ||
*/ | ||
SAFE(2), | ||
|
||
/** | ||
* The server is age restricted. | ||
*/ | ||
AGE_RESTRICTED(3), | ||
|
||
/** | ||
* An unknown NSFW level, most likely something new added by Discord. | ||
*/ | ||
UNKNOWN(-1); | ||
|
||
/** | ||
* The id of the NSFW level. | ||
*/ | ||
private final int id; | ||
|
||
/** | ||
* Creates a new NSFW level. | ||
* | ||
* @param id The id of the NSFW level. | ||
*/ | ||
NsfwLevel(int id) { | ||
this.id = id; | ||
} | ||
|
||
/** | ||
* Gets the id of the NSFW level. | ||
* | ||
* @return The id of the NSFW level. | ||
*/ | ||
public int getId() { | ||
return id; | ||
} | ||
|
||
/** | ||
* Gets the NSFW level by id. | ||
* @param id The id of the NSFW level. | ||
* @return The NSFW level with the given id. | ||
*/ | ||
public static NsfwLevel fromId(int id) { | ||
return Arrays.stream(values()) | ||
.filter(nsfwLevel -> nsfwLevel.getId() == id) | ||
.findFirst().orElse(UNKNOWN); | ||
} | ||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
21 changes: 21 additions & 0 deletions
21
javacord-api/src/main/java/org/javacord/api/event/server/ServerChangeNsfwLevelEvent.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
package org.javacord.api.event.server; | ||
|
||
import org.javacord.api.entity.server.NsfwLevel; | ||
|
||
public interface ServerChangeNsfwLevelEvent extends ServerEvent { | ||
|
||
/** | ||
* The old NSFW level of the server. | ||
* | ||
* @return the old NSFW level of the server. | ||
*/ | ||
NsfwLevel getOldNsfwLevel(); | ||
|
||
/** | ||
* The new NSFW level of the server. | ||
* | ||
* @return the new NSFW level of the server. | ||
*/ | ||
NsfwLevel getNewNsfwLevel(); | ||
|
||
} |
17 changes: 17 additions & 0 deletions
17
...ord-api/src/main/java/org/javacord/api/listener/server/ServerChangeNsfwLevelListener.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
package org.javacord.api.listener.server; | ||
|
||
import org.javacord.api.event.server.ServerChangeNsfwLevelEvent; | ||
import org.javacord.api.listener.GloballyAttachableListener; | ||
import org.javacord.api.listener.ObjectAttachableListener; | ||
|
||
public interface ServerChangeNsfwLevelListener extends ServerAttachableListener, GloballyAttachableListener, | ||
ObjectAttachableListener { | ||
|
||
/** | ||
* This method is called every time a server changes its NSFW level. | ||
* | ||
* @param event The event. | ||
*/ | ||
void onServerChangeNsfwLevel(ServerChangeNsfwLevelEvent event); | ||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
43 changes: 43 additions & 0 deletions
43
...ord-core/src/main/java/org/javacord/core/event/server/ServerChangeNsfwLevelEventImpl.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
package org.javacord.core.event.server; | ||
|
||
import org.javacord.api.entity.server.NsfwLevel; | ||
import org.javacord.api.event.server.ServerChangeNsfwLevelEvent; | ||
import org.javacord.core.entity.server.ServerImpl; | ||
|
||
/** | ||
* The implementation of {@link ServerChangeNsfwLevelEvent}. | ||
*/ | ||
public class ServerChangeNsfwLevelEventImpl extends ServerEventImpl implements ServerChangeNsfwLevelEvent { | ||
|
||
/** | ||
* The old NSFW level of the server. | ||
*/ | ||
private final NsfwLevel oldNsfwLevel; | ||
|
||
/** | ||
* The new NSFW level of the server. | ||
*/ | ||
private final NsfwLevel newNsfwLevel; | ||
|
||
/** | ||
* Creates a new NSFW level change event. | ||
* @param server The server of the event. | ||
* @param newNsfwLevel The new NSFW level of the server. | ||
* @param oldNsfwLevel The old NSFW level of the server. | ||
*/ | ||
public ServerChangeNsfwLevelEventImpl(ServerImpl server, NsfwLevel newNsfwLevel, NsfwLevel oldNsfwLevel) { | ||
super(server); | ||
this.oldNsfwLevel = oldNsfwLevel; | ||
this.newNsfwLevel = newNsfwLevel; | ||
} | ||
|
||
@Override | ||
public NsfwLevel getOldNsfwLevel() { | ||
return oldNsfwLevel; | ||
} | ||
|
||
@Override | ||
public NsfwLevel getNewNsfwLevel() { | ||
return newNsfwLevel; | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters