Class ToDataSubjectRefImpl<I>

  • All Implemented Interfaces:
    ca.stellardrift.permissionsex.subject.SubjectRef<I>, ca.stellardrift.permissionsex.subject.SubjectRef.ToData<I>, Consumer<ca.stellardrift.permissionsex.subject.ImmutableSubjectData>

    public class ToDataSubjectRefImpl<I>
    extends Object
    implements Consumer<ca.stellardrift.permissionsex.subject.ImmutableSubjectData>, ca.stellardrift.permissionsex.subject.SubjectRef.ToData<I>
    An automatically updating reference to the latest data for a certain subject.
    Since:
    2.0.0
    • Method Detail

      • type

        public ca.stellardrift.permissionsex.subject.SubjectType<Itype()
        Specified by:
        type in interface ca.stellardrift.permissionsex.subject.SubjectRef<I>
      • identifier

        public I identifier()
        Specified by:
        identifier in interface ca.stellardrift.permissionsex.subject.SubjectRef<I>
      • get

        public ca.stellardrift.permissionsex.subject.ImmutableSubjectData get()
        Specified by:
        get in interface ca.stellardrift.permissionsex.subject.SubjectRef.ToData<I>
      • update

        public CompletableFuture<ca.stellardrift.permissionsex.util.Change<ca.stellardrift.permissionsex.subject.ImmutableSubjectData>> update​(UnaryOperator<ca.stellardrift.permissionsex.subject.ImmutableSubjectData> modifierFunc)
        Specified by:
        update in interface ca.stellardrift.permissionsex.subject.SubjectRef.ToData<I>
      • accept

        public void accept​(ca.stellardrift.permissionsex.subject.ImmutableSubjectData newData)
        Specified by:
        accept in interface Consumer<I>
      • holdsListenersStrongly

        public boolean holdsListenersStrongly()
        Specified by:
        holdsListenersStrongly in interface ca.stellardrift.permissionsex.subject.SubjectRef.ToData<I>
      • onUpdate

        public void onUpdate​(Consumer<ca.stellardrift.permissionsex.subject.ImmutableSubjectData> listener)
        Specified by:
        onUpdate in interface ca.stellardrift.permissionsex.subject.SubjectRef.ToData<I>
      • remove

        public CompletableFuture<ca.stellardrift.permissionsex.subject.ImmutableSubjectData> remove()
        Specified by:
        remove in interface ca.stellardrift.permissionsex.subject.SubjectRef.ToData<I>