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 Detail

      • 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

        java.util.Optional<RELEASEHOLDER> lookupForDeployedRelease​(java.lang.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