FreedomNetworkSuite/Patchwork/src/main/java/me/totalfreedom/security/Node.java

32 lines
434 B
Java
Raw Normal View History

2023-05-13 02:19:35 +00:00
package me.totalfreedom.security;
2023-04-14 01:24:40 +00:00
import org.bukkit.permissions.Permission;
import javax.annotation.concurrent.Immutable;
@Immutable
public interface Node
{
2023-05-13 04:30:08 +00:00
String key();
2023-04-14 01:24:40 +00:00
2023-05-13 04:30:08 +00:00
boolean value();
2023-04-14 01:24:40 +00:00
2023-05-13 02:19:35 +00:00
Permission bukkit();
2023-04-14 01:24:40 +00:00
2023-05-13 04:30:08 +00:00
NodeType type();
2023-04-14 01:24:40 +00:00
boolean compare(Node node);
2023-05-13 04:30:08 +00:00
long expiry();
2023-04-14 01:24:40 +00:00
boolean isExpired();
boolean isPermanent();
boolean isTemporary();
2023-05-13 04:30:08 +00:00
boolean wildcard();
2023-04-14 01:24:40 +00:00
2023-05-13 04:30:08 +00:00
boolean negated();
2023-04-14 01:24:40 +00:00
}