Interface RuleEngineContainerRegistry<RELEASEHOLDER,CONTAINER>

Type Parameters:
RELEASEHOLDER - type of the knowledge base container module release identifier
CONTAINER - type of the knowledge base container
All Known Implementing Classes:
DefaultRuleEngineContainerRegistry

public interface RuleEngineContainerRegistry<RELEASEHOLDER,CONTAINER>
Rule Engine container registry interface. Declares methods for rule engine rules container housekeeping
  • Method Details

    • setActiveContainer

      void setActiveContainer(RELEASEHOLDER releaseHolder, CONTAINER rulesContainer)
      Adds another active container, identified by release, to a repository
      Parameters:
      releaseHolder - knowledge base container module release identifier
      rulesContainer - knowledge base container instance
    • getActiveContainer

      CONTAINER getActiveContainer(RELEASEHOLDER releaseHolder)
      Retrieve knowledge base container reference, identified by release id
      Parameters:
      releaseHolder - knowledge base container module release identifier
      Returns:
      knowledge base container instance
    • removeActiveContainer

      CONTAINER removeActiveContainer(RELEASEHOLDER releaseHolder)
      Remove knowledge base container identified by release id
      Parameters:
      releaseHolder - knowledge base container module release identifier
      Returns:
      removed knowledge base container instance, null if not found
    • lookupForDeployedRelease

      Optional<RELEASEHOLDER> lookupForDeployedRelease(String... releaseTokens)
      Lookup for a deployed knowledge base container release id by partial release id tokens (e.g. group id and artifact id)
      Parameters:
      releaseTokens - knowledge base container module release identifier
      Returns:
      optional of container release id
    • lockReadingRegistry

      void lockReadingRegistry()
      lock registry for reading operations
    • unlockReadingRegistry

      void unlockReadingRegistry()
      unlock registry for reading operations
    • lockWritingRegistry

      void lockWritingRegistry()
      lock registry for writing operations
    • unlockWritingRegistry

      void unlockWritingRegistry()
      unlock registry for writing operations
    • isLockedForReading

      boolean isLockedForReading()
      Check if the registry is locked for reading
      Returns:
      true if the registry is in the state locked for reading
    • isLockedForWriting

      boolean isLockedForWriting()
      Check if the registry is locked for writing
      Returns:
      true if the registry is in the state locked for writing