Class DynamicTableDataService
java.lang.Object
com.illumon.iris.db.v2.locations.server.DelegatingTableDataService
com.illumon.iris.db.v2.locations.server.DynamicTableDataService
- All Implemented Interfaces:
TableDataService,TableDataServiceDescriptor,NamedImplementation
public class DynamicTableDataService
extends DelegatingTableDataService
implements TableDataServiceDescriptor
A TableDataService that can be dynamically updated when the source DataRoutingService changes.
-
Nested Class Summary
Nested classes/interfaces inherited from interface com.illumon.iris.db.v2.tabledataservice.TableDataService
TableDataService.Null -
Constructor Summary
ConstructorsConstructorDescriptionDynamicTableDataService(String name, TableDataService delegate, TableDataServiceFactory.CreationContext creationContext) Create a new DynamicTableDataService. -
Method Summary
Modifier and TypeMethodDescriptiondescribe()Like toString, but with more detail.protected TableDataServiceUse object identity for the key, equals, and hashCode (TableDataServices of this type won't equal each other).getName()Allow TableDataService instances to have names.voidsetDelegate(TableDataService delegate, TableDataServiceFactory.CreationContext creationContext) Replace the delegate TableDataService.toString()Methods inherited from class com.illumon.iris.db.v2.locations.server.DelegatingTableDataService
authenticate, getKnownLocationProviders, getTableLocationProvider, getTableLocationProvider, reset, resetMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface com.illumon.util.type.NamedImplementation
getImplementationNameMethods inherited from interface com.illumon.iris.db.v2.tabledataservice.TableDataService
shutdown
-
Constructor Details
-
DynamicTableDataService
public DynamicTableDataService(@NotNull String name, TableDataService delegate, TableDataServiceFactory.CreationContext creationContext) Create a new DynamicTableDataService.- Parameters:
name- the name of this TableDataServicedelegate- the TableDataService to delegate to (which can change)creationContext- the collection of services used to create this TableDataService
-
-
Method Details
-
getDelegate
- Specified by:
getDelegatein classDelegatingTableDataService
-
setDelegate
public void setDelegate(@NotNull TableDataService delegate, @NotNull TableDataServiceFactory.CreationContext creationContext) Replace the delegate TableDataService. The new delegate should have the save id as the old one.- Parameters:
delegate- the new delegate TableDataServicecreationContext- the CreationContext corresponding to the new delegate
-
getDescriptor
Use object identity for the key, equals, and hashCode (TableDataServices of this type won't equal each other).- Specified by:
getDescriptorin interfaceTableDataService- Returns:
- this
-
getName
Description copied from interface:TableDataServiceAllow TableDataService instances to have names.- Specified by:
getNamein interfaceTableDataService- Overrides:
getNamein classDelegatingTableDataService
-
getCreationContext
-
describe
Description copied from interface:TableDataServiceLike toString, but with more detail.- Specified by:
describein interfaceTableDataService- Overrides:
describein classDelegatingTableDataService- Returns:
- a description string
-
toString
-