Class CalculatedSubjectImpl<I>
- java.lang.Object
-
- ca.stellardrift.permissionsex.impl.subject.CalculatedSubjectImpl<I>
-
- All Implemented Interfaces:
ca.stellardrift.permissionsex.subject.CalculatedSubject,Consumer<ca.stellardrift.permissionsex.subject.ImmutableSubjectData>
public class CalculatedSubjectImpl<I> extends Object implements Consumer<ca.stellardrift.permissionsex.subject.ImmutableSubjectData>, ca.stellardrift.permissionsex.subject.CalculatedSubject
This is a holder that maintains the current subject data state
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaccept(ca.stellardrift.permissionsex.subject.ImmutableSubjectData newData)Set<ca.stellardrift.permissionsex.context.ContextValue<?>>activeContexts()@Nullable ObjectassociatedObject()SubjectTypeCollectionImpl<I>containingType()ToDataSubjectRefImpl<I>data()Access this subject's persistent databooleanhasPermission(Set<ca.stellardrift.permissionsex.context.ContextValue<?>> contexts, String permission)ca.stellardrift.permissionsex.subject.SubjectRef<I>identifier()Optional<String>option(Set<ca.stellardrift.permissionsex.context.ContextValue<?>> contexts, String option)org.spongepowered.configurate.ConfigurationNodeoptionNode(Set<ca.stellardrift.permissionsex.context.ContextValue<?>> contexts, String option)Map<String,String>options(Set<ca.stellardrift.permissionsex.context.ContextValue<?>> contexts)List<ca.stellardrift.permissionsex.subject.SubjectRef<?>>parents(Set<ca.stellardrift.permissionsex.context.ContextValue<?>> contexts)intpermission(Set<ca.stellardrift.permissionsex.context.ContextValue<?>> contexts, String permission)ca.stellardrift.permissionsex.util.NodeTreepermissions(Set<ca.stellardrift.permissionsex.context.ContextValue<?>> contexts)voidregisterListener(Consumer<ca.stellardrift.permissionsex.subject.CalculatedSubject> listener)ToDataSubjectRefImpl<I>transientData()voidunregisterListener(Consumer<ca.stellardrift.permissionsex.subject.CalculatedSubject> listener)CompletableFuture<Set<ca.stellardrift.permissionsex.context.ContextValue<?>>>usedContextValues()-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
-
-
-
Method Detail
-
identifier
public ca.stellardrift.permissionsex.subject.SubjectRef<I> identifier()
- Specified by:
identifierin interfaceca.stellardrift.permissionsex.subject.CalculatedSubject
-
containingType
public SubjectTypeCollectionImpl<I> containingType()
- Specified by:
containingTypein interfaceca.stellardrift.permissionsex.subject.CalculatedSubject
-
permissions
public ca.stellardrift.permissionsex.util.NodeTree permissions(Set<ca.stellardrift.permissionsex.context.ContextValue<?>> contexts)
- Specified by:
permissionsin interfaceca.stellardrift.permissionsex.subject.CalculatedSubject
-
options
public Map<String,String> options(Set<ca.stellardrift.permissionsex.context.ContextValue<?>> contexts)
- Specified by:
optionsin interfaceca.stellardrift.permissionsex.subject.CalculatedSubject
-
parents
public List<ca.stellardrift.permissionsex.subject.SubjectRef<?>> parents(Set<ca.stellardrift.permissionsex.context.ContextValue<?>> contexts)
- Specified by:
parentsin interfaceca.stellardrift.permissionsex.subject.CalculatedSubject
-
activeContexts
public Set<ca.stellardrift.permissionsex.context.ContextValue<?>> activeContexts()
- Specified by:
activeContextsin interfaceca.stellardrift.permissionsex.subject.CalculatedSubject
-
usedContextValues
public CompletableFuture<Set<ca.stellardrift.permissionsex.context.ContextValue<?>>> usedContextValues()
- Specified by:
usedContextValuesin interfaceca.stellardrift.permissionsex.subject.CalculatedSubject
-
permission
public int permission(Set<ca.stellardrift.permissionsex.context.ContextValue<?>> contexts, String permission)
- Specified by:
permissionin interfaceca.stellardrift.permissionsex.subject.CalculatedSubject
-
hasPermission
public boolean hasPermission(Set<ca.stellardrift.permissionsex.context.ContextValue<?>> contexts, String permission)
- Specified by:
hasPermissionin interfaceca.stellardrift.permissionsex.subject.CalculatedSubject
-
option
public Optional<String> option(Set<ca.stellardrift.permissionsex.context.ContextValue<?>> contexts, String option)
- Specified by:
optionin interfaceca.stellardrift.permissionsex.subject.CalculatedSubject
-
optionNode
public org.spongepowered.configurate.ConfigurationNode optionNode(Set<ca.stellardrift.permissionsex.context.ContextValue<?>> contexts, String option)
- Specified by:
optionNodein interfaceca.stellardrift.permissionsex.subject.CalculatedSubject
-
data
public ToDataSubjectRefImpl<I> data()
Access this subject's persistent data- Specified by:
datain interfaceca.stellardrift.permissionsex.subject.CalculatedSubject- Returns:
- A reference to the persistent data of this subject
-
transientData
public ToDataSubjectRefImpl<I> transientData()
- Specified by:
transientDatain interfaceca.stellardrift.permissionsex.subject.CalculatedSubject
-
associatedObject
public @Nullable Object associatedObject()
- Specified by:
associatedObjectin interfaceca.stellardrift.permissionsex.subject.CalculatedSubject
-
registerListener
public void registerListener(Consumer<ca.stellardrift.permissionsex.subject.CalculatedSubject> listener)
- Specified by:
registerListenerin interfaceca.stellardrift.permissionsex.subject.CalculatedSubject
-
unregisterListener
public void unregisterListener(Consumer<ca.stellardrift.permissionsex.subject.CalculatedSubject> listener)
- Specified by:
unregisterListenerin interfaceca.stellardrift.permissionsex.subject.CalculatedSubject
-
-