Interface DenormalisedPermissionStateManager

  • All Known Implementing Classes:
    DenormalisedPermissionStateManagerImpl

    @ExperimentalApi
    @Internal
    public interface DenormalisedPermissionStateManager
    Denormalised permission state manager is responsible to managing the service state, including starting, stopping, enabling/disabling API, maintaining list of the past events etc
    Since:
    7.11.0
    • Method Detail

      • isApiReady

        boolean isApiReady()
        Returns true if the state of the service is "READY", if both CONTENT and SPACE services are in ready state Possible reasons for returning false: 1. Service is disabled 2. Denormalized tables are not ready
        Returns:
        the state of the service
      • isSpaceApiReady

        boolean isSpaceApiReady()
        Returns true if the state of denormalised SPACE service is "READY", which means that denormalised space permissions reflect real permissions. Possible reasons for returning false: 1. Service is disabled 2. Denormalized tables are not ready
        Returns:
        the state of the SPACe service
      • isContentApiReady

        boolean isContentApiReady()
        Returns true if the state of denormalised CONTENT service is "READY", which means that denormalised content permissions reflect real permissions. Possible reasons for returning false: 1. Service is disabled 2. Denormalized tables are not ready
        Returns:
        the state of the SPACe service
      • getSpaceServiceState

        DenormalisedPermissionServiceState getSpaceServiceState​(boolean realTimeData)
        Get the state of denormalised space service.
        Parameters:
        realTimeData - if true, data will be read from the DB. If false, cached data will be returned.
        Returns:
        the state of denormalised SPACE service
      • getContentServiceState

        DenormalisedPermissionServiceState getContentServiceState​(boolean realTimeData)
        Get the state of denormalised content service.
        Parameters:
        realTimeData - if true, data will be read from the DB. If false, cached data will be returned.
        Returns:
        the state of denormalised CONTENT service
      • enableService

        void enableService()
        Enables the service. It would take some time to update denormalised data
      • disableService

        void disableService​(boolean cleanDenormalisedData)
        Disables the service and deletes all triggers/functions, so denormalised data will not be updated.
        Parameters:
        cleanDenormalisedData - - if true, all denormalised data will be truncated
      • getSpacePermissionUpdateLag

        Long getSpacePermissionUpdateLag()
        Returns the time difference between updating regular space permissions and denormalised space permissions
        Returns:
        lag in ms, or null if the data record is not found (for example, the service has never been enabled)
      • getContentPermissionUpdateLag

        Long getContentPermissionUpdateLag()
        Returns the time difference between updating regular content permissions and denormalised content permissions
        Returns:
        lag in ms, or null if the data record is not found (for example, the service has never been enabled)
      • getStateChangeLog

        List<StateChangeInformation> getStateChangeLog​(int limit)
        Returns a list of service state change events
        Parameters:
        limit - limit
        Returns:
        list or events, sorted by event date (desc)
      • scheduled

        void scheduled()