LoginSystem/src/main/java/fr/xephi/authme/permission/DefaultPermission.java
ljacqu 2a4cda0709 #784 Perform bypass purge permission check with OfflinePlayer objects
- Move permission check inside PurgeTask to perform it with OfflinePlayer objects instead of lowercase names
- Move purge members into child "purge" package
- Unify online and offline default permission behavior in DefaultPermission
2016-07-17 11:54:22 +02:00

63 lines
1.5 KiB
Java

package fr.xephi.authme.permission;
import org.bukkit.permissions.ServerOperator;
/**
* The default permission to fall back to if there is no support for permission nodes.
*/
public enum DefaultPermission {
/** No one has permission. */
NOT_ALLOWED("No permission") {
@Override
public boolean evaluate(ServerOperator sender) {
return false;
}
},
/** Only players with OP status have permission. */
OP_ONLY("OP's only") {
@Override
public boolean evaluate(ServerOperator sender) {
return sender != null && sender.isOp();
}
},
/** Everyone is granted permission. */
ALLOWED("Everyone allowed") {
@Override
public boolean evaluate(ServerOperator sender) {
return true;
}
};
/** Textual representation of the default permission. */
private final String title;
/**
* Constructor.
* @param title The textual representation
*/
DefaultPermission(String title) {
this.title = title;
}
/**
* Evaluates whether permission is granted to the sender or not.
*
* @param sender the sender to process
* @return true if the sender has permission, false otherwise
*/
public abstract boolean evaluate(ServerOperator sender);
/**
* Return the textual representation.
*
* @return the textual representation
*/
public String getTitle() {
return title;
}
}