Klasse InactivityReleaseService

java.lang.Object
de.delinkedde.areashopreborn.application.InactivityReleaseService

public final class InactivityReleaseService extends Object
Executes conservative, journaled ownership returns for proven inactive parcel owners.
  • Konstruktordetails

    • InactivityReleaseService

      public InactivityReleaseService(Database database, PlayerActivityRepository activity, InactivityReleaseRepository releases, EstateRepository estates, PermissionGateway permissions, WorldGuardGateway worldGuard, ThreadBridge threads)
      Creates the inactivity release workflow.
      Parameter:
      database - asynchronous database executor
      activity - player activity repository
      releases - release journal repository
      estates - estate state repository
      permissions - offline-capable permission adapter
      worldGuard - protection adapter
      threads - server-thread bridge
    • InactivityReleaseService

      public InactivityReleaseService(Database database, PlayerActivityRepository activity, InactivityReleaseRepository releases, EstateRepository estates, PermissionGateway permissions, WorldGuardGateway worldGuard, ThreadBridge threads, int recoveryBatchSize)
      Creates the workflow with an explicit restart-recovery batch size.
      Parameter:
      database - asynchronous database executor
      activity - player activity repository
      releases - release journal repository
      estates - estate state repository
      permissions - offline-capable permission adapter
      worldGuard - protection adapter
      threads - server-thread bridge
      recoveryBatchSize - maximum DB-applied actions recovered per SQLite task
    • InactivityReleaseService

      public InactivityReleaseService(Database database, PlayerActivityRepository activity, InactivityReleaseRepository releases, EstateRepository estates, PermissionGateway permissions, WorldGuardGateway worldGuard, ThreadBridge threads, int recoveryBatchSize, int maximumRegionsPerRun)
      Creates the workflow with explicit recovery and destructive work ceilings.
      Parameter:
      database - asynchronous database executor
      activity - player activity repository
      releases - release journal repository
      estates - estate state repository
      permissions - offline-capable permission adapter
      worldGuard - protection adapter
      threads - server-thread bridge
      recoveryBatchSize - maximum DB-applied actions recovered per SQLite task
      maximumRegionsPerRun - maximum new release candidates processed per scan
  • Methodendetails

    • releaseEligible

      public CompletableFuture<InactivityReleaseReport> releaseEligible(Duration inactiveFor, int maximumOwners)
      Returns eligible parcels owned by tracked players inactive beyond the threshold.

      No refund is created. Ownership returns to the recorded landlord, or to the virtual server identity when no landlord exists. Cities, rentals, listings, unexpected states, and bypassed players are skipped.

      Parameter:
      inactiveFor - required inactivity duration
      maximumOwners - maximum owners inspected in this batch
      Gibt zurück:
      future containing a detailed processing report
    • retry

      public CompletableFuture<Void> retry(UUID actionId)
      Retries only the WorldGuard stage of a quarantined release action.
      Parameter:
      actionId - journal action identifier
      Gibt zurück:
      completion future