Class BaseNodeFactory

java.lang.Object
io.datarouter.storage.node.factory.BaseNodeFactory
Direct Known Subclasses:
BaseDatabeanNodeFactory, BlobNodeFactory, IndexingNodeFactory, QueueNodeFactory, StreamNodeFactory, TallyNodeFactory

public abstract class BaseNodeFactory extends Object
  • Field Details

    • injector

      @Inject protected io.datarouter.inject.DatarouterInjector injector
    • datarouter

      @Inject protected Datarouter datarouter
    • clients

      @Inject protected DatarouterClients clients
  • Constructor Details

    • BaseNodeFactory

      public BaseNodeFactory()
  • Method Details

    • getClientNodeFactory

      protected <T extends ClientNodeFactory> T getClientNodeFactory(ClientId clientId, Class<T> factoryType)
    • cast

      public static <PK extends io.datarouter.model.key.primary.PrimaryKey<PK>, D extends io.datarouter.model.databean.Databean<PK, D>, F extends io.datarouter.model.serialize.fielder.DatabeanFielder<PK, D>, N extends Node<PK, D, F>> N cast(Node<PK,D,F> node)
      Datarouter modules can come as runtime dependencies. There is no way to know at compile time if a client type is going to provide the desired interface, hence this unchecked cast.