Class PersistentQueryTablesContext

All Implemented Interfaces:
LogOutputAppendable, LivenessManager, LivenessNode, LivenessReferent

public class PersistentQueryTablesContext extends ReferenceCountedLivenessNode
Creates and makes available tables associated to controller subscriptions for PQ state changes. The object is a liveness node managed by the tables it creates, to ensure their liveness.
  • Field Details

  • Constructor Details

    • PersistentQueryTablesContext

      public PersistentQueryTablesContext(String user, PersistentQueryControllerClient controllerClient, GroupProvider groupProvider, UpdateSourceRegistrar updateSourceRegistrar, Runnable shutdownHook)
      Create a new object of this class
      Parameters:
      controllerClient - a controller client where to add an observer
      updateSourceRegistrar - the registrar to use for this object
      shutdownHook - code to run when this object is destroyed
  • Method Details

    • getRawConfigTable

      public Table getRawConfigTable()
      Get the raw Config table
      Returns:
      a table
    • getRawStateTable

      public Table getRawStateTable()
      Get the raw State table
      Returns:
      a table
    • waitUntilInitialSubscriptionDone

      public void waitUntilInitialSubscriptionDone()
      Block until the initial controller client subscription is completed.
    • getQueryInfoTable

      public Table getQueryInfoTable()
      Get the QueryInfo table
      Returns:
      a table
    • getScopeNamesAndTypeTable

      public Table getScopeNamesAndTypeTable()
      Get the ScopeNamesAndType table
      Returns:
      a table
    • shutdown

      public void shutdown()
      Ask this object to shutdown itself.
    • destroy

      public void destroy()
      Overrides:
      destroy in class ReferenceCountedLivenessReferent
    • statusAsString

      @ScriptApi public static String statusAsString(Object enumName)
    • configTypeNameToDisplayableName

      @ScriptApi public static String configTypeNameToDisplayableName(String configTypeName)
    • getSchedulingDetails

      @ScriptApi @Nullable public static @Nullable String getSchedulingDetails(String[] scheduling)