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(@NotNull String name, TableDataService delegate, TableDataServiceFactory.CreationContext creationContext) Create a new DynamicTableDataService. -
Method Summary
Modifier and TypeMethodDescriptiondescribe()Like toString, but with more detail.protected TableDataService@NotNull TableDataServiceDescriptorUse object identity for the key, equals, and hashCode (TableDataServices of this type won't equal each other).@NotNull StringgetName()Allow TableDataService instances to have names.voidsetDelegate(@NotNull 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 @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 @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
-