Class CompositeTableDataService
java.lang.Object
io.deephaven.engine.table.impl.locations.impl.AbstractTableDataService
io.deephaven.engine.table.impl.locations.impl.CompositeTableDataService
- All Implemented Interfaces:
TableDataService,NamedImplementation
Routing
TableDataService that applies a selector function to pick service(s) for each request. It is assumed
that each service will provide access to a non-overlapping set of table locations for any table key.-
Nested Class Summary
Nested Classes -
Constructor Summary
ConstructorsConstructorDescriptionCompositeTableDataService(@NotNull String name, @NotNull CompositeTableDataService.ServiceSelector serviceSelector) -
Method Summary
Modifier and TypeMethodDescriptiondescribe()Get a detailed description string.Get a name for the implementing class.@Nullable TableLocationProvidergetRawTableLocationProvider(@NotNull TableKey tableKey, @NotNull TableLocationKey tableLocationKey) Request the single rawTableLocationProviderfrom this service that has theTableLocationfortableKeyandtableLocationKey.protected @NotNull TableLocationProvidermakeTableLocationProvider(@NotNull TableKey tableKey) voidreset()Forget all state for subsequent requests for all tables.voidForget all state for subsequent requests for a single table.toString()Methods inherited from class io.deephaven.engine.table.impl.locations.impl.AbstractTableDataService
getName, getTableLocationProvider
-
Constructor Details
-
CompositeTableDataService
public CompositeTableDataService(@NotNull @NotNull String name, @NotNull @NotNull CompositeTableDataService.ServiceSelector serviceSelector) - Parameters:
name- optional name for this serviceserviceSelector- Function to map a table key to a set of services that should be queried.
-
-
Method Details
-
getRawTableLocationProvider
@Nullable public @Nullable TableLocationProvider getRawTableLocationProvider(@NotNull @NotNull TableKey tableKey, @NotNull @NotNull TableLocationKey tableLocationKey) Description copied from interface:TableDataServiceRequest the single rawTableLocationProviderfrom this service that has theTableLocationfortableKeyandtableLocationKey. A rawTableLocationProviderdoes not compose multipleTableLocationProvidersor delegate to other implementations.- Specified by:
getRawTableLocationProviderin interfaceTableDataService- Overrides:
getRawTableLocationProviderin classAbstractTableDataService- Parameters:
tableKey- TheTableKeyto lookuptableLocationKey- TheTableLocationKeyto lookup- Returns:
- The raw
TableLocationProviderthat has theTableLocationfortableKeyandtableLocationKey, ornullif there is none
-
reset
public void reset()Description copied from interface:TableDataServiceForget all state for subsequent requests for all tables.- Specified by:
resetin interfaceTableDataService- Overrides:
resetin classAbstractTableDataService
-
reset
Description copied from interface:TableDataServiceForget all state for subsequent requests for a single table.- Specified by:
resetin interfaceTableDataService- Overrides:
resetin classAbstractTableDataService- Parameters:
key-TableKeyto forget state for
-
makeTableLocationProvider
@NotNull protected @NotNull TableLocationProvider makeTableLocationProvider(@NotNull @NotNull TableKey tableKey) - Specified by:
makeTableLocationProviderin classAbstractTableDataService
-
getImplementationName
Description copied from interface:NamedImplementationGet a name for the implementing class. Useful for abstract classes that implement
LogOutputAppendableor overridetoString.The default implementation is correct, but not suitable for high-frequency usage.
- Returns:
- A name for the implementing class
-
toString
-
describe
Description copied from interface:TableDataServiceGet a detailed description string.- Returns:
- A description string
-