Class ParticipantHandle

java.lang.Object
be.theking90000.mumble.controller.spaces.ParticipantHandle

public final class ParticipantHandle extends Object
Typed Spaces view of a profile-neutral participant ownership handle.
  • Method Details

    • participantId

      public be.theking90000.mumble.controller.core.ParticipantId participantId()
      Returns:
      stable logical participant identity
    • state

      public be.theking90000.mumble.controller.core.ParticipantHandleState state()
      Returns:
      current local ownership lifecycle state
    • desiredSpec

      public ParticipantSpec desiredSpec()
      Returns:
      latest complete desired Spaces specification
    • latestStatus

      public Optional<ParticipantStatus> latestStatus()
      Returns:
      latest decoded Spaces status, or empty before the first update
    • whenOwned

      public CompletableFuture<Void> whenOwned()
      Returns:
      stable future completed on the first ownership grant
    • connectionCredential

      public Optional<be.theking90000.mumble.controller.core.ConnectionCredential> connectionCredential()
      Returns:
      current connection credential, if ownership has granted one
    • whenConnectionCredentialAvailable

      public CompletableFuture<be.theking90000.mumble.controller.core.ConnectionCredential> whenConnectionCredentialAvailable()
      Returns:
      stable future completed with the first connection credential
    • setSpec

      public CompletableFuture<be.theking90000.mumble.controller.core.AcceptedRevision> setSpec(ParticipantSpec spec)
      Replaces the complete desired Spaces participant specification.
      Parameters:
      spec - complete replacement specification
      Returns:
      future completed with the acceptance watermarks covering this update
    • unregister

      public CompletableFuture<Void> unregister()
      Returns:
      future completed after this exact ownership capability is released
    • addListener

      public void addListener(ParticipantListener listener)
      Adds a listener for subsequent typed lifecycle and status notifications.
      Parameters:
      listener - listener to add
    • removeListener

      public void removeListener(ParticipantListener listener)
      Removes a listener; a missing listener is ignored.
      Parameters:
      listener - listener to remove