Web editor changes, towards #1703

This commit is contained in:
Luck committed 2019-08-26 15:03:30 +01:00
1 parent eff93c788b
commit 5e2f45ebd0
25 files changed
+333 -150

No files matched your search

@@ -35,6 +35,11 @@ public enum CreationCause {
*/
COMMAND,
/**
* The creation was caused by the web editor
*/
WEB_EDITOR,
/**
* The creation was caused by an API call
*/
@@ -100,6 +100,13 @@ public interface Node {
return LuckPermsProvider.get().getNodeBuilderRegistry().forKey(key);
}
/**
* Gets the type of the node.
*
* @return the node type
*/
@NonNull NodeType<?> getType();
/**
* Gets the key ({@link String}) of the node.
*
@@ -31,6 +31,7 @@ import me.lucko.luckperms.api.node.metadata.NodeMetadataKey;
import org.checkerframework.checker.nullness.qual.NonNull;
import org.checkerframework.checker.nullness.qual.Nullable;
import java.time.temporal.TemporalAccessor;
import java.util.Objects;
import java.util.concurrent.TimeUnit;
@@ -66,11 +67,20 @@ public interface NodeBuilder<N extends ScopedNode<N, B>, B extends NodeBuilder<N
* <p>The parameter passed to this method must be the unix timestamp
* (in seconds) when the node should expire.</p>
*
* @param expiryUnixTimestamp the expiry timestamp (unix seconds)
* @param expiryEpochSeconds the expiry timestamp (unix seconds)
* @return the builder
* @see Node#getExpiry()
*/
@NonNull B expiry(long expiryUnixTimestamp);
@NonNull B expiry(long expiryEpochSeconds);
/**
* Sets the time when the node should expire.
*
* @param expiry the expiry time
* @return the builder
* @see Node#getExpiry()
*/
@NonNull B expiry(@Nullable TemporalAccessor expiry);
/**
* Sets the time when the node should expire.
@@ -36,6 +36,9 @@ import org.checkerframework.checker.nullness.qual.NonNull;
*/
public interface ScopedNode<N extends ScopedNode<N, B>, B extends NodeBuilder<N, B>> extends Node {
@Override
@NonNull NodeType<N> getType();
@Override
@NonNull B toBuilder();
@@ -58,7 +58,7 @@ public interface ChatMetaNode<N extends ChatMetaNode<N, B>, B extends ChatMetaNo
*
* @return the type
*/
@NonNull ChatMetaType getType();
@NonNull ChatMetaType getMetaType();
/**
* A {@link ChatMetaNode} builder.
@@ -28,6 +28,7 @@ package me.lucko.luckperms.api.node.types;
import me.lucko.luckperms.api.LuckPermsProvider;
import me.lucko.luckperms.api.node.Node;
import me.lucko.luckperms.api.node.NodeBuilder;
import me.lucko.luckperms.api.node.NodeType;
import me.lucko.luckperms.api.node.ScopedNode;
import org.checkerframework.checker.nullness.qual.NonNull;
@@ -37,6 +38,11 @@ import org.checkerframework.checker.nullness.qual.NonNull;
*/
public interface DisplayNameNode extends ScopedNode<DisplayNameNode, DisplayNameNode.Builder> {
@Override
default @NonNull NodeType<DisplayNameNode> getType() {
return NodeType.DISPLAY_NAME;
}
/**
* Gets the display name.
*
@@ -29,6 +29,7 @@ import me.lucko.luckperms.api.LuckPermsProvider;
import me.lucko.luckperms.api.model.group.Group;
import me.lucko.luckperms.api.node.Node;
import me.lucko.luckperms.api.node.NodeBuilder;
import me.lucko.luckperms.api.node.NodeType;
import me.lucko.luckperms.api.node.ScopedNode;
import org.checkerframework.checker.nullness.qual.NonNull;
@@ -39,6 +40,11 @@ import org.checkerframework.checker.nullness.qual.NonNull;
*/
public interface InheritanceNode extends ScopedNode<InheritanceNode, InheritanceNode.Builder> {
@Override
default @NonNull NodeType<InheritanceNode> getType() {
return NodeType.INHERITANCE;
}
/**
* Gets the name of the group to be inherited.
*
@@ -28,6 +28,7 @@ package me.lucko.luckperms.api.node.types;
import me.lucko.luckperms.api.LuckPermsProvider;
import me.lucko.luckperms.api.node.Node;
import me.lucko.luckperms.api.node.NodeBuilder;
import me.lucko.luckperms.api.node.NodeType;
import me.lucko.luckperms.api.node.ScopedNode;
import org.checkerframework.checker.nullness.qual.NonNull;
@@ -37,6 +38,11 @@ import org.checkerframework.checker.nullness.qual.NonNull;
*/
public interface MetaNode extends ScopedNode<MetaNode, MetaNode.Builder> {
@Override
default @NonNull NodeType<MetaNode> getType() {
return NodeType.META;
}
/**
* Gets the meta key.
*
@@ -28,6 +28,7 @@ package me.lucko.luckperms.api.node.types;
import me.lucko.luckperms.api.LuckPermsProvider;
import me.lucko.luckperms.api.node.Node;
import me.lucko.luckperms.api.node.NodeBuilder;
import me.lucko.luckperms.api.node.NodeType;
import me.lucko.luckperms.api.node.ScopedNode;
import org.checkerframework.checker.nullness.qual.NonNull;
@@ -39,6 +40,11 @@ import java.util.OptionalInt;
*/
public interface PermissionNode extends ScopedNode<PermissionNode, PermissionNode.Builder> {
@Override
default @NonNull NodeType<PermissionNode> getType() {
return NodeType.PERMISSION;
}
/**
* Gets the permission string this node encapsulates.
*
@@ -27,6 +27,7 @@ package me.lucko.luckperms.api.node.types;
import me.lucko.luckperms.api.LuckPermsProvider;
import me.lucko.luckperms.api.node.Node;
import me.lucko.luckperms.api.node.NodeType;
import org.checkerframework.checker.nullness.qual.NonNull;
@@ -35,6 +36,11 @@ import org.checkerframework.checker.nullness.qual.NonNull;
*/
public interface PrefixNode extends ChatMetaNode<PrefixNode, PrefixNode.Builder> {
@Override
default @NonNull NodeType<PrefixNode> getType() {
return NodeType.PREFIX;
}
/**
* Creates a {@link PrefixNode} builder.
*
@@ -28,6 +28,7 @@ package me.lucko.luckperms.api.node.types;
import me.lucko.luckperms.api.LuckPermsProvider;
import me.lucko.luckperms.api.node.Node;
import me.lucko.luckperms.api.node.NodeBuilder;
import me.lucko.luckperms.api.node.NodeType;
import me.lucko.luckperms.api.node.ScopedNode;
import org.checkerframework.checker.nullness.qual.NonNull;
@@ -40,6 +41,11 @@ import java.util.regex.Pattern;
*/
public interface RegexPermissionNode extends ScopedNode<RegexPermissionNode, RegexPermissionNode.Builder> {
@Override
default @NonNull NodeType<RegexPermissionNode> getType() {
return NodeType.REGEX_PERMISSION;
}
/**
* Gets the non-compiled pattern string.
*
@@ -27,6 +27,7 @@ package me.lucko.luckperms.api.node.types;
import me.lucko.luckperms.api.LuckPermsProvider;
import me.lucko.luckperms.api.node.Node;
import me.lucko.luckperms.api.node.NodeType;
import org.checkerframework.checker.nullness.qual.NonNull;
@@ -35,6 +36,11 @@ import org.checkerframework.checker.nullness.qual.NonNull;
*/
public interface SuffixNode extends ChatMetaNode<SuffixNode, SuffixNode.Builder> {
@Override
default @NonNull NodeType<SuffixNode> getType() {
return NodeType.SUFFIX;
}
/**
* Creates a {@link SuffixNode} builder.
*
@@ -28,6 +28,7 @@ package me.lucko.luckperms.api.node.types;
import me.lucko.luckperms.api.LuckPermsProvider;
import me.lucko.luckperms.api.node.Node;
import me.lucko.luckperms.api.node.NodeBuilder;
import me.lucko.luckperms.api.node.NodeType;
import me.lucko.luckperms.api.node.ScopedNode;
import org.checkerframework.checker.nullness.qual.NonNull;
@@ -37,6 +38,11 @@ import org.checkerframework.checker.nullness.qual.NonNull;
*/
public interface WeightNode extends ScopedNode<WeightNode, WeightNode.Builder> {
@Override
default @NonNull NodeType<WeightNode> getType() {
return NodeType.WEIGHT;
}
/**
* Gets the weight value.
*