Class ContextAwareRemoteQuery<RESULT_TYPE>

java.lang.Object
com.illumon.iris.db.tables.remotequery.ContextAwareRemoteQuery<RESULT_TYPE>
All Implemented Interfaces:
RemoteQuery<RESULT_TYPE>, Serializable
Direct Known Subclasses:
AllUsersGroupsStrategiesQuery, ConsoleAttachmentQuery, ConsoleDetachQuery, ConstructSnapshotQuery, CreateSessionQuery, CreateUserTableQuery, CsvTestImportQuery, CustomAction.FetchQuery, DbAclEditorTableQuery, DriverWrapperQuery, EmbeddedDefinitionGetQuery, EmbeddedFetchQuery, FetchInputTableQuery, FetchQuery, GenerateComparableStatsFunction, GenerateDBDateTimeStatsFunction, GenerateNumericalStatsFunction, GetAllTableNames, GetAllUsersQuery, GetAttributesQuery, GetDriverDisplayInfoQuery, GetPermissionDataQuery, GroupsForUserQuery, GroupStrategyExistsQuery, ImportHelperSetupQuery, InputTableSnapshotter, LiveWidgetUtils.ACLApplier, MergeImportPersistentQuery, MergeTables, OneEditableQuery, PandasTableFetchQuery, PerformanceQueries.PerformanceOverview, PerformanceQueries.PersistentQueryStatusMonitor, PresentDelegateTokensQuery, PythonEvalQuery, PythonFetchQuery, PythonPushClassQuery, PythonRemoteQuery, RemoteInputTableDescriptor.GetQuery, RemoteInputTableDescriptor.ToServer.SetQuery, RemoteMethodAsync, RemoteScriptCommandQuery, RemoteTableQuery, RemoveSessionQuery, RetrieveOneAclQuery, RetrieveOneSystemAclQuery, RetrieveSystemUserAclQuery, RevertHelperSetupQuery, SchemaDeployQuery, ScriptSetupQuery, SerializeRemoteQuery, SetupRemoteSessionSource.CloseScriptLoaderClient, SetupRemoteSessionSource.SetupControllerScriptPathLoader, SetupRemoteSessionSource.SetupRemoteScriptLoader, SnapshotQuery, StrategyForAccountQuery, SwappableTableOneClickAbstract.SwappableTablePreemptiveUpdatesQuery, TableApplyQuery, TableMapClient.TableMapGet, TableMapClient.TableMapGetKeys, TableMapClient.TableMapGetMerged, TableMapClient.TableMapMerge, TableMapUtils.MergeGet, TableMapUtils.PresubscribeGet, TelemetryHelperSetupQuery, TelemetryQueries.TelemetrySummary, UpdateWorkspaceDataTableQuery, WebClientDataSetupQuery, XmlTestImportQuery

public abstract class ContextAwareRemoteQuery<RESULT_TYPE>
extends Object
implements RemoteQuery<RESULT_TYPE>
Enables queries that require additional context, beyond a Database reference. After deserializing a ContextAwareRemoteQuery, the RemoteQueryProcessor calls initializeContext(com.illumon.iris.db.tables.remote.ExportedObjectClient, com.fishlib.auth.UserContext, com.illumon.iris.db.tables.remotequery.RemoteQueryProcessor, com.fishlib.io.logger.Logger) on the query before calling the RemoteQuery.execute(Database) method. Within the execute method, the query can then retrieve the context information about the client executing the query.
See Also:
Serialized Form
  • Constructor Details

  • Method Details

    • initializeContext

      public void initializeContext​(ExportedObjectClient client, com.fishlib.auth.UserContext userContext, RemoteQueryProcessor remoteQueryProcessor, com.fishlib.io.logger.Logger log)
      Initializes this query's context.
      Parameters:
      client - the ExportedObjectClient for the client requesting query execution
      userContext - the UserContext of the client requesting query execution
      remoteQueryProcessor - the RemoteQueryProcessor executing this query
      log - the Logger object for this processor
    • initializeContext

      public void initializeContext​(ContextAwareRemoteQuery<?> contextAwareRemoteQuery)
      Initializes this query's context from another query. This should only be called by the Deephaven system.
      Parameters:
      contextAwareRemoteQuery - another ContextAwareRemoteQuery to copy the context from
    • getClient

      public ExportedObjectClient getClient()
      Returns the ExportedObjectClient that corresponds to the client executing this query.
      Returns:
      the ExportedObjectClient that corresponds to the client executing this query.
    • getUserContext

      public com.fishlib.auth.UserContext getUserContext()
      Returns the UserContext that corresponds to the client executing this query.
      Returns:
      the UserContext that corresponds to the client executing this query.
    • getRemoteQueryProcessor

      public RemoteQueryProcessor getRemoteQueryProcessor()
      Returns the RemoteQueryProcessor that is executing this query.
      Returns:
      the RemoteQueryProcessor that is executing this query.
    • getLog

      public com.fishlib.io.logger.Logger getLog()
      Returns a suitable log for use within the query.
      Returns:
      a suitable log for use within the query.