Class AbstractNodeBuilder<N extends net.luckperms.api.node.ScopedNode<N,B>, B extends net.luckperms.api.node.NodeBuilder<N,B>>

java.lang.Object
me.lucko.luckperms.common.node.AbstractNodeBuilder<N,B>
All Implemented Interfaces:
net.luckperms.api.node.NodeBuilder<N,B>
Direct Known Subclasses:
DisplayName.Builder, Inheritance.Builder, Meta.Builder, Permission.Builder, Prefix.Builder, RegexPermission.Builder, Suffix.Builder, Weight.Builder

public abstract class AbstractNodeBuilder<N extends net.luckperms.api.node.ScopedNode<N,B>, B extends net.luckperms.api.node.NodeBuilder<N,B>> extends Object implements net.luckperms.api.node.NodeBuilder<N,B>
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected net.luckperms.api.context.ImmutableContextSet.Builder
     
    protected long
     
    protected final Map<net.luckperms.api.node.metadata.NodeMetadataKey<?>, Object>
     
    protected boolean
     
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
     
    protected
    AbstractNodeBuilder(boolean value, long expireAt, net.luckperms.api.context.ImmutableContextSet context, Map<net.luckperms.api.node.metadata.NodeMetadataKey<?>, Object> metadata)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    @NonNull B
     
    @NonNull B
    context(@NonNull net.luckperms.api.context.ContextSet contextSet)
     
    protected static void
    ensureDefined(Object value, String description)
     
    @NonNull B
    expiry(long expiryEpochSeconds)
     
    @NonNull B
    expiry(@Nullable TemporalAccessor expiry)
     
    @NonNull B
    expiry(@Nullable TemporalAmount duration)
     
    @NonNull B
    negated(boolean negated)
     
    @NonNull B
    value(boolean value)
     
    @NonNull B
    withContext(@NonNull String key, @NonNull String value)
     
    @NonNull B
    withContext(@NonNull net.luckperms.api.context.ContextSet contextSet)
     
    <T> @NonNull B
    withMetadata(@NonNull net.luckperms.api.node.metadata.NodeMetadataKey<T> key, @Nullable T metadata)
     

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface net.luckperms.api.node.NodeBuilder

    build, expiry
  • Field Details

    • value

      protected boolean value
    • expireAt

      protected long expireAt
    • context

      protected net.luckperms.api.context.ImmutableContextSet.Builder context
    • metadata

      protected final Map<net.luckperms.api.node.metadata.NodeMetadataKey<?>, Object> metadata
  • Constructor Details

    • AbstractNodeBuilder

      protected AbstractNodeBuilder(boolean value, long expireAt, net.luckperms.api.context.ImmutableContextSet context, Map<net.luckperms.api.node.metadata.NodeMetadataKey<?>, Object> metadata)
    • AbstractNodeBuilder

      protected AbstractNodeBuilder()
  • Method Details

    • value

      public @NonNull B value(boolean value)
      Specified by:
      value in interface net.luckperms.api.node.NodeBuilder<N extends net.luckperms.api.node.ScopedNode<N,B>, B extends net.luckperms.api.node.NodeBuilder<N,B>>
    • negated

      public @NonNull B negated(boolean negated)
      Specified by:
      negated in interface net.luckperms.api.node.NodeBuilder<N extends net.luckperms.api.node.ScopedNode<N,B>, B extends net.luckperms.api.node.NodeBuilder<N,B>>
    • expiry

      public @NonNull B expiry(long expiryEpochSeconds)
      Specified by:
      expiry in interface net.luckperms.api.node.NodeBuilder<N extends net.luckperms.api.node.ScopedNode<N,B>, B extends net.luckperms.api.node.NodeBuilder<N,B>>
    • expiry

      public @NonNull B expiry(@Nullable TemporalAccessor expiry)
      Specified by:
      expiry in interface net.luckperms.api.node.NodeBuilder<N extends net.luckperms.api.node.ScopedNode<N,B>, B extends net.luckperms.api.node.NodeBuilder<N,B>>
    • expiry

      public @NonNull B expiry(@Nullable TemporalAmount duration)
      Specified by:
      expiry in interface net.luckperms.api.node.NodeBuilder<N extends net.luckperms.api.node.ScopedNode<N,B>, B extends net.luckperms.api.node.NodeBuilder<N,B>>
    • clearExpiry

      public @NonNull B clearExpiry()
      Specified by:
      clearExpiry in interface net.luckperms.api.node.NodeBuilder<N extends net.luckperms.api.node.ScopedNode<N,B>, B extends net.luckperms.api.node.NodeBuilder<N,B>>
    • context

      public @NonNull B context(@NonNull net.luckperms.api.context.ContextSet contextSet)
      Specified by:
      context in interface net.luckperms.api.node.NodeBuilder<N extends net.luckperms.api.node.ScopedNode<N,B>, B extends net.luckperms.api.node.NodeBuilder<N,B>>
    • withContext

      public @NonNull B withContext(@NonNull String key, @NonNull String value)
      Specified by:
      withContext in interface net.luckperms.api.node.NodeBuilder<N extends net.luckperms.api.node.ScopedNode<N,B>, B extends net.luckperms.api.node.NodeBuilder<N,B>>
    • withContext

      public @NonNull B withContext(@NonNull net.luckperms.api.context.ContextSet contextSet)
      Specified by:
      withContext in interface net.luckperms.api.node.NodeBuilder<N extends net.luckperms.api.node.ScopedNode<N,B>, B extends net.luckperms.api.node.NodeBuilder<N,B>>
    • withMetadata

      public <T> @NonNull B withMetadata(@NonNull net.luckperms.api.node.metadata.NodeMetadataKey<T> key, @Nullable T metadata)
      Specified by:
      withMetadata in interface net.luckperms.api.node.NodeBuilder<N extends net.luckperms.api.node.ScopedNode<N,B>, B extends net.luckperms.api.node.NodeBuilder<N,B>>
    • ensureDefined

      protected static void ensureDefined(Object value, String description)