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:
AbstractTestImportQuery
,AllUsersGroupsStrategiesQuery
,ApplyParametersQuery
,ConsoleAttachmentQuery
,ConsoleDetachQuery
,ConstructSnapshotQuery
,CreateSessionQuery
,CreateUserTableQuery
,CustomAction.FetchQuery
,DbAclEditorTableQuery
,DriverWrapperQuery
,EmbeddedDefinitionGetQuery
,EmbeddedFetchQuery
,FetchInputTableQuery
,FetchQuery
,FetchResultQuery
,GenerateComparableStatsFunction
,GenerateDBDateTimeStatsFunction
,GenerateNumericalStatsFunction
,GetAllTableNames
,GetAllUsersQuery
,GetAttributesQuery
,GetDriverDisplayInfoQuery
,GetPermissionDataQuery
,GroupsForUserQuery
,GroupStrategyExistsQuery
,ImportHelperSetupQuery
,InputTableSnapshotter
,InteractiveConsoleSetupQuery
,LiveWidgetUtils.ACLApplier
,MergeImportPersistentQuery
,MergeTables
,OneEditableQuery
,PandasTableFetchQuery
,PerformanceQueries.PerformanceOverview
,PerformanceQueries.PersistentQueryStatusMonitor
,PythonEvalQuery
,PythonFetchQuery
,PythonPushClassQuery
,PythonRemoteQuery
,RemoteInputTableDescriptor.GetQuery
,RemoteInputTableDescriptor.ToServer.SetQuery
,RemoteMethodAsync
,RemoteScriptCommandQuery
,RemoteTableQuery
,RemoveSessionQuery
,RetrieveOneAclQuery
,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
,WorkerClientHeartbeatQuery
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, io.deephaven.enterprise.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:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionReturns the ExportedObjectClient that corresponds to the client executing this query.com.fishlib.io.logger.Logger
getLog()
Returns a suitable log for use within the query.Returns the RemoteQueryProcessor that is executing this query.io.deephaven.enterprise.auth.UserContext
Returns the UserContext that corresponds to the client executing this query.void
initializeContext
(ExportedObjectClient client, io.deephaven.enterprise.auth.UserContext userContext, RemoteQueryProcessor remoteQueryProcessor, com.fishlib.io.logger.Logger log) Initializes this query's context.void
initializeContext
(ContextAwareRemoteQuery<?> contextAwareRemoteQuery) Initializes this query's context from another query.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.illumon.iris.db.tables.remotequery.RemoteQuery
execute
-
Constructor Details
-
ContextAwareRemoteQuery
public ContextAwareRemoteQuery()
-
-
Method Details
-
initializeContext
public void initializeContext(ExportedObjectClient client, io.deephaven.enterprise.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 executionuserContext
- the UserContext of the client requesting query executionremoteQueryProcessor
- the RemoteQueryProcessor executing this querylog
- the Logger object for this processor
-
initializeContext
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
Returns the ExportedObjectClient that corresponds to the client executing this query.- Returns:
- the ExportedObjectClient that corresponds to the client executing this query.
-
getUserContext
public io.deephaven.enterprise.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
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.
-