Interface PublicationService

All Superinterfaces:
AutoCloseable
All Known Implementing Classes:
DefaultPublicationService

public interface PublicationService extends AutoCloseable
Publication and distribution operations.

Publishing is an explicit operation enabling parity with established PKI systems. Implementations publish committed credential and status-object content to administrator-configured targets such as filesystem mirrors, LDAP directories, HTTP endpoints, or object stores. Publication never establishes source-object authority.

  • Method Details

    • register

      Registers one publication operation after its source object is committed.
      Parameters:
      request - immutable registration request
      Returns:
      committed pending record, or the identical existing operation
      Throws:
      IllegalArgumentException - if the request is invalid or conflicting
      PkiException - if registration cannot be established durably
    • process

      PublicationResult process(PkiId publicationId)
      Processes one pending operation synchronously.
      Parameters:
      publicationId - operation identity
      Returns:
      durably classified result
      Throws:
      IllegalArgumentException - if the operation is absent or ineligible
      PkiException - if persistence or content validation fails
    • retry

      PublicationResult retry(PkiId publicationId)
      Explicitly retries one retryable operation as a new numbered attempt.
      Parameters:
      publicationId - operation identity
      Returns:
      durably classified result
      Throws:
      IllegalArgumentException - if the operation is not retryable
      PkiException - if persistence or content validation fails
    • reconcile

      PublicationResult reconcile(PkiId publicationId)
      Reconciles one unknown external outcome using the original attempt token.
      Parameters:
      publicationId - operation identity
      Returns:
      current durable result; unresolved operations remain unknown
      Throws:
      IllegalArgumentException - if the operation is not unknown
      PkiException - if reconciliation persistence fails
    • find

      Optional<PublicationRecord> find(PkiId publicationId)
      Reads one durable publication operation.
      Parameters:
      publicationId - operation identity
      Returns:
      current record, or empty when absent
    • openPublications

      PublicationCursor openPublications(PublicationQuery query)
      Opens a stable lazy query over publication operations.
      Parameters:
      query - finite query constraints
      Returns:
      closeable cursor
      Throws:
      PkiException - if the stable view cannot be opened
    • close

      void close()
      Rejects new operations while allowing an in-flight synchronous call to classify its result.
      Specified by:
      close in interface AutoCloseable