Class AbstractSubject<T extends eu.cloudnetservice.driver.permission.Permissible>

java.lang.Object
eu.cloudnetservice.modules.cloudperms.sponge.service.permissible.AbstractSubject<T>
All Implemented Interfaces:
org.spongepowered.api.service.context.Contextual, org.spongepowered.api.service.permission.Subject
Direct Known Subclasses:
PermissionGroupSubject, PermissionUserSubject

public abstract class AbstractSubject<T extends eu.cloudnetservice.driver.permission.Permissible> extends Object implements org.spongepowered.api.service.permission.Subject
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected final T
     
    protected final String
     
    protected final eu.cloudnetservice.driver.permission.PermissionManagement
     
    protected final org.spongepowered.api.service.permission.SubjectCollection
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    AbstractSubject(String identifier, org.spongepowered.api.service.permission.SubjectCollection source, T data, eu.cloudnetservice.driver.permission.PermissionManagement management)
     
  • Method Summary

    Modifier and Type
    Method
    Description
     
    org.spongepowered.api.service.permission.SubjectReference
     
    org.spongepowered.api.service.permission.SubjectCollection
     
     
    protected abstract @NonNull List<? extends org.spongepowered.api.service.permission.SubjectReference>
     
    protected @NonNull org.spongepowered.api.util.Tristate
    getPermissionValue(@NonNull eu.cloudnetservice.driver.permission.Permission permission)
     
     
    protected abstract boolean
     
    boolean
    isChildOf(org.spongepowered.api.service.permission.SubjectReference parent, Set<org.spongepowered.api.service.context.Context> contexts)
     
    boolean
    isChildOf(org.spongepowered.api.service.permission.SubjectReference parent, org.spongepowered.api.event.Cause cause)
     
    option(String key, Set<org.spongepowered.api.service.context.Context> contexts)
     
    option(String key, org.spongepowered.api.event.Cause cause)
     
    List<? extends org.spongepowered.api.service.permission.SubjectReference>
    parents(Set<org.spongepowered.api.service.context.Context> contexts)
     
    List<? extends org.spongepowered.api.service.permission.SubjectReference>
    parents(org.spongepowered.api.event.Cause cause)
     
    org.spongepowered.api.util.Tristate
    permissionValue(String permission, Set<org.spongepowered.api.service.context.Context> contexts)
     
    org.spongepowered.api.util.Tristate
    permissionValue(String permission, org.spongepowered.api.event.Cause cause)
     

    Methods inherited from class java.lang.Object

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

    Methods inherited from interface org.spongepowered.api.service.context.Contextual

    friendlyIdentifier

    Methods inherited from interface org.spongepowered.api.service.permission.Subject

    contextCause, hasPermission, hasPermission, hasPermission, isChildOf, isSubjectDataPersisted, option, parents, permissionValue, subjectData, transientSubjectData
  • Field Details

    • data

      protected final T extends eu.cloudnetservice.driver.permission.Permissible data
    • identifier

      protected final String identifier
    • source

      protected final org.spongepowered.api.service.permission.SubjectCollection source
    • permissionManagement

      protected final eu.cloudnetservice.driver.permission.PermissionManagement permissionManagement
  • Constructor Details

    • AbstractSubject

      public AbstractSubject(String identifier, org.spongepowered.api.service.permission.SubjectCollection source, T data, eu.cloudnetservice.driver.permission.PermissionManagement management)
  • Method Details

    • containingCollection

      public org.spongepowered.api.service.permission.SubjectCollection containingCollection()
      Specified by:
      containingCollection in interface org.spongepowered.api.service.permission.Subject
    • asSubjectReference

      public org.spongepowered.api.service.permission.SubjectReference asSubjectReference()
      Specified by:
      asSubjectReference in interface org.spongepowered.api.service.permission.Subject
    • associatedObject

      public Optional<?> associatedObject()
      Specified by:
      associatedObject in interface org.spongepowered.api.service.permission.Subject
    • permissionValue

      public org.spongepowered.api.util.Tristate permissionValue(String permission, org.spongepowered.api.event.Cause cause)
      Specified by:
      permissionValue in interface org.spongepowered.api.service.permission.Subject
    • permissionValue

      public org.spongepowered.api.util.Tristate permissionValue(String permission, Set<org.spongepowered.api.service.context.Context> contexts)
      Specified by:
      permissionValue in interface org.spongepowered.api.service.permission.Subject
    • isChildOf

      public boolean isChildOf(org.spongepowered.api.service.permission.SubjectReference parent, org.spongepowered.api.event.Cause cause)
      Specified by:
      isChildOf in interface org.spongepowered.api.service.permission.Subject
    • isChildOf

      public boolean isChildOf(org.spongepowered.api.service.permission.SubjectReference parent, Set<org.spongepowered.api.service.context.Context> contexts)
      Specified by:
      isChildOf in interface org.spongepowered.api.service.permission.Subject
    • parents

      public List<? extends org.spongepowered.api.service.permission.SubjectReference> parents(org.spongepowered.api.event.Cause cause)
      Specified by:
      parents in interface org.spongepowered.api.service.permission.Subject
    • parents

      public List<? extends org.spongepowered.api.service.permission.SubjectReference> parents(Set<org.spongepowered.api.service.context.Context> contexts)
      Specified by:
      parents in interface org.spongepowered.api.service.permission.Subject
    • option

      public Optional<String> option(String key, org.spongepowered.api.event.Cause cause)
      Specified by:
      option in interface org.spongepowered.api.service.permission.Subject
    • option

      public Optional<String> option(String key, Set<org.spongepowered.api.service.context.Context> contexts)
      Specified by:
      option in interface org.spongepowered.api.service.permission.Subject
    • identifier

      public String identifier()
      Specified by:
      identifier in interface org.spongepowered.api.service.context.Contextual
    • findOption

      @NonNull protected @NonNull Optional<String> findOption(@NonNull @NonNull String key)
    • getPermissionValue

      @NonNull protected @NonNull org.spongepowered.api.util.Tristate getPermissionValue(@NonNull @NonNull eu.cloudnetservice.driver.permission.Permission permission)
    • isChild

      protected abstract boolean isChild(@NonNull @NonNull String parent)
    • getParents

      @NonNull protected abstract @NonNull List<? extends org.spongepowered.api.service.permission.SubjectReference> getParents()