Class IndexingNodeFactory

java.lang.Object
io.datarouter.storage.node.factory.BaseNodeFactory
io.datarouter.storage.node.factory.IndexingNodeFactory

public class IndexingNodeFactory extends BaseNodeFactory
  • Field Summary

    Fields inherited from class io.datarouter.storage.node.factory.BaseNodeFactory

    clients, datarouter, injector
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    <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>, IK extends io.datarouter.model.key.FieldlessIndexEntryPrimaryKey<IK, PK, D>>
    ManagedNodeBuilder<PK,D,IK,io.datarouter.model.databean.FieldlessIndexEntry<IK,PK,D>,io.datarouter.model.field.FieldlessIndexEntryFielder<IK,PK,D>>
    createKeyOnlyManagedIndex(Supplier<IK> indexEntryKeySupplier, IndexedMapStorage.IndexedMapStorageNode<PK,D,F> backingNode)
     
    static <PK extends io.datarouter.model.key.primary.PrimaryKey<PK>, D extends io.datarouter.model.databean.Databean<PK, D>, IK extends io.datarouter.model.key.primary.PrimaryKey<IK>, IE extends io.datarouter.model.index.unique.UniqueIndexEntry<IK, IE, PK, D>, IF extends io.datarouter.model.serialize.fielder.DatabeanFielder<IK, IE>>
    ManagedUniqueIndexNode<PK,D,IK,IE,IF>
    newManagedUnique(IndexedMapStorage<PK,D> backingNode, Supplier<IF> indexFielderSupplier, Supplier<IE> indexEntrySupplier, boolean manageTxn)
    WARNING: make sure the index fielder you pass in has the same character set and collation options as the backing node's fielder or risk having incorrect, performance-hurting introducers in SQL
    static <PK extends io.datarouter.model.key.primary.PrimaryKey<PK>, D extends io.datarouter.model.databean.Databean<PK, D>, IK extends io.datarouter.model.key.primary.PrimaryKey<IK>, IE extends io.datarouter.model.index.unique.UniqueIndexEntry<IK, IE, PK, D>, IF extends io.datarouter.model.serialize.fielder.DatabeanFielder<IK, IE>>
    ManagedUniqueIndexNode<PK,D,IK,IE,IF>
    newManagedUnique(IndexedMapStorage<PK,D> backingNode, Supplier<IF> indexFielderSupplier, Supplier<IE> indexEntrySupplier, boolean manageTxn, String indexName)
    WARNING: make sure the index fielder you pass in has the same character set and collation options as the backing node's fielder or risk having incorrect, performance-hurting introducers in SQL

    Methods inherited from class io.datarouter.storage.node.factory.BaseNodeFactory

    cast, getClientNodeFactory

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • IndexingNodeFactory

      public IndexingNodeFactory()
  • Method Details

    • newManagedUnique

      public static <PK extends io.datarouter.model.key.primary.PrimaryKey<PK>, D extends io.datarouter.model.databean.Databean<PK, D>, IK extends io.datarouter.model.key.primary.PrimaryKey<IK>, IE extends io.datarouter.model.index.unique.UniqueIndexEntry<IK, IE, PK, D>, IF extends io.datarouter.model.serialize.fielder.DatabeanFielder<IK, IE>> ManagedUniqueIndexNode<PK,D,IK,IE,IF> newManagedUnique(IndexedMapStorage<PK,D> backingNode, Supplier<IF> indexFielderSupplier, Supplier<IE> indexEntrySupplier, boolean manageTxn, String indexName)
      WARNING: make sure the index fielder you pass in has the same character set and collation options as the backing node's fielder or risk having incorrect, performance-hurting introducers in SQL
    • newManagedUnique

      public static <PK extends io.datarouter.model.key.primary.PrimaryKey<PK>, D extends io.datarouter.model.databean.Databean<PK, D>, IK extends io.datarouter.model.key.primary.PrimaryKey<IK>, IE extends io.datarouter.model.index.unique.UniqueIndexEntry<IK, IE, PK, D>, IF extends io.datarouter.model.serialize.fielder.DatabeanFielder<IK, IE>> ManagedUniqueIndexNode<PK,D,IK,IE,IF> newManagedUnique(IndexedMapStorage<PK,D> backingNode, Supplier<IF> indexFielderSupplier, Supplier<IE> indexEntrySupplier, boolean manageTxn)
      WARNING: make sure the index fielder you pass in has the same character set and collation options as the backing node's fielder or risk having incorrect, performance-hurting introducers in SQL
    • createKeyOnlyManagedIndex

      public <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>, IK extends io.datarouter.model.key.FieldlessIndexEntryPrimaryKey<IK, PK, D>> ManagedNodeBuilder<PK,D,IK,io.datarouter.model.databean.FieldlessIndexEntry<IK,PK,D>,io.datarouter.model.field.FieldlessIndexEntryFielder<IK,PK,D>> createKeyOnlyManagedIndex(Supplier<IK> indexEntryKeySupplier, IndexedMapStorage.IndexedMapStorageNode<PK,D,F> backingNode)