Class MemorySubjectData

  • All Implemented Interfaces:
    ca.stellardrift.permissionsex.subject.ImmutableSubjectData
    Direct Known Subclasses:
    FileSubjectData

    public class MemorySubjectData
    extends Object
    implements ca.stellardrift.permissionsex.subject.ImmutableSubjectData
    • Method Detail

      • segments

        public Map<Set<ca.stellardrift.permissionsex.context.ContextValue<?>>,​ca.stellardrift.permissionsex.subject.Segment> segments()
        Specified by:
        segments in interface ca.stellardrift.permissionsex.subject.ImmutableSubjectData
      • withSegments

        public ca.stellardrift.permissionsex.subject.ImmutableSubjectData withSegments​(BiFunction<Set<ca.stellardrift.permissionsex.context.ContextValue<?>>,​ca.stellardrift.permissionsex.subject.Segment,​ca.stellardrift.permissionsex.subject.Segment> transformer)
        Specified by:
        withSegments in interface ca.stellardrift.permissionsex.subject.ImmutableSubjectData
      • withSegment

        public ca.stellardrift.permissionsex.subject.ImmutableSubjectData withSegment​(Set<ca.stellardrift.permissionsex.context.ContextValue<?>> contexts,
                                                                                      UnaryOperator<ca.stellardrift.permissionsex.subject.Segment> operation)
        Specified by:
        withSegment in interface ca.stellardrift.permissionsex.subject.ImmutableSubjectData
      • mapSegmentValues

        public <V> Map<Set<ca.stellardrift.permissionsex.context.ContextValue<?>>,​V> mapSegmentValues​(Function<ca.stellardrift.permissionsex.subject.Segment,​V> mapper)
        Specified by:
        mapSegmentValues in interface ca.stellardrift.permissionsex.subject.ImmutableSubjectData
      • mapSegment

        public <V> @Nullable V mapSegment​(Set<ca.stellardrift.permissionsex.context.ContextValue<?>> contexts,
                                          Function<ca.stellardrift.permissionsex.subject.Segment,​V> mapper)
        Specified by:
        mapSegment in interface ca.stellardrift.permissionsex.subject.ImmutableSubjectData
      • segment

        public MemorySubjectData.MemorySegment segment​(Set<ca.stellardrift.permissionsex.context.ContextValue<?>> contexts)
        Specified by:
        segment in interface ca.stellardrift.permissionsex.subject.ImmutableSubjectData
      • withSegment

        public ca.stellardrift.permissionsex.subject.ImmutableSubjectData withSegment​(Set<ca.stellardrift.permissionsex.context.ContextValue<?>> contexts,
                                                                                      ca.stellardrift.permissionsex.subject.Segment segment)
        Specified by:
        withSegment in interface ca.stellardrift.permissionsex.subject.ImmutableSubjectData
      • activeContexts

        public Set<org.pcollections.PSet<ca.stellardrift.permissionsex.context.ContextValue<?>>> activeContexts()
        Specified by:
        activeContexts in interface ca.stellardrift.permissionsex.subject.ImmutableSubjectData