Interface IndexedStorageReader<PK extends io.datarouter.model.key.primary.PrimaryKey<PK>,D extends io.datarouter.model.databean.Databean<PK,D>>

All Superinterfaces:
IndexedOps<PK,D>, NodeOps<PK,D>
All Known Subinterfaces:
IndexedMapStorage<PK,D>, IndexedMapStorage.IndexedMapStorageNode<PK,D,F>, IndexedMapStorage.PhysicalIndexedMapStorageNode<PK,D,F>, IndexedMapStorageReader<PK,D>, IndexedMapStorageReader.IndexedMapStorageReaderNode<PK,D,F>, IndexedMapStorageReader.PhysicalIndexedMapStorageReaderNode<PK,D,F>, IndexedSortedMapStorage<PK,D>, IndexedSortedMapStorage.IndexedSortedMapStorageNode<PK,D,F>, IndexedSortedMapStorage.PhysicalIndexedSortedMapStorageNode<PK,D,F>, IndexedSortedMapStorageReader<PK,D>, IndexedSortedMapStorageReader.IndexedSortedMapStorageReaderNode<PK,D,F>, IndexedSortedMapStorageReader.PhysicalIndexedSortedMapStorageReaderNode<PK,D,F>, IndexedStorage<PK,D>, IndexedStorage.IndexedStorageNode<PK,D,F>, IndexedStorage.PhysicalIndexedStorageNode<PK,D,F>, IndexedStorageCallsiteAdapterMixin<PK,D,F,N>, IndexedStorageCounterAdapterMixin<PK,D,F,N>, IndexedStorageReader.IndexedStorageReaderNode<PK,D,F>, IndexedStorageReader.PhysicalIndexedStorageReaderNode<PK,D,F>, IndexedStorageSanitizationAdapterMixin<PK,D,F,N>, IndexedStorageTraceAdapterMixin<PK,D,F,N>, PhysicalIndexedStorageAvailabilityAdapterMixin<PK,D,F,N>
All Known Implementing Classes:
IndexedSortedMapStorageCallsiteAdapter, IndexedSortedMapStorageCounterAdapter, NoOpGroupQueueNode, NoOpNode, NoOpQueueNode, PhysicalIndexedSortedMapStorageAvailabilityAdapterFactory.PhysicalIndexedSortedMapStorageAvailabilityAdapter, PhysicalIndexedSortedMapStorageCallsiteAdapter, PhysicalIndexedSortedMapStorageCounterAdapter, PhysicalIndexedSortedMapStorageSanitizationAdapter, PhysicalIndexedSortedMapStorageTraceAdapter

public interface IndexedStorageReader<PK extends io.datarouter.model.key.primary.PrimaryKey<PK>,D extends io.datarouter.model.databean.Databean<PK,D>> extends NodeOps<PK,D>, IndexedOps<PK,D>
Methods for reading from storage systems that provide secondary indexing.
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Interface
    Description
    static interface 
    IndexedStorageReader.IndexedStorageReaderNode<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>>
     
    static interface 
    IndexedStorageReader.PhysicalIndexedStorageReaderNode<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>>
     
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
     
    static final String
     
    static final String
     
    static final String
     
    static final String
     
    static final String
     
    static final String
     
    static final String
     
    static final String
     
    static final String
     
  • Method Summary

    Modifier and Type
    Method
    Description
    <IK extends io.datarouter.model.key.primary.PrimaryKey<IK>, IE extends io.datarouter.model.index.IndexEntry<IK, IE, PK, D>, IF extends io.datarouter.model.serialize.fielder.DatabeanFielder<IK, IE>>
    List<D>
    getMultiByIndex(Collection<IK> keys, Config config, IndexEntryFieldInfo<IK,IE,IF> indexEntryFieldInfo)
     
    default <IK extends io.datarouter.model.key.primary.PrimaryKey<IK>, IE extends io.datarouter.model.index.IndexEntry<IK, IE, PK, D>, IF extends io.datarouter.model.serialize.fielder.DatabeanFielder<IK, IE>>
    List<D>
    getMultiByIndex(Collection<IK> keys, IndexEntryFieldInfo<IK,IE,IF> indexEntryFieldInfo)
     
    <IK extends io.datarouter.model.key.primary.PrimaryKey<IK>, IE extends io.datarouter.model.index.IndexEntry<IK, IE, PK, D>, IF extends io.datarouter.model.serialize.fielder.DatabeanFielder<IK, IE>>
    List<IE>
    getMultiFromIndex(Collection<IK> keys, Config config, IndexEntryFieldInfo<IK,IE,IF> indexEntryFieldInfo)
     
    default <IK extends io.datarouter.model.key.primary.PrimaryKey<IK>, IE extends io.datarouter.model.index.IndexEntry<IK, IE, PK, D>, IF extends io.datarouter.model.serialize.fielder.DatabeanFielder<IK, IE>>
    List<IE>
    getMultiFromIndex(Collection<IK> keys, IndexEntryFieldInfo<IK,IE,IF> indexEntryFieldInfo)
     
    default List<D>
    lookupMultiUnique(Collection<? extends io.datarouter.model.key.unique.UniqueKey<PK>> uniqueKeys)
     
    lookupMultiUnique(Collection<? extends io.datarouter.model.key.unique.UniqueKey<PK>> uniqueKeys, Config config)
     
    default D
    lookupUnique(io.datarouter.model.key.unique.UniqueKey<PK> uniqueKey)
     
    lookupUnique(io.datarouter.model.key.unique.UniqueKey<PK> uniqueKey, Config config)
     
    default <IK extends io.datarouter.model.key.primary.PrimaryKey<IK>, IE extends io.datarouter.model.index.IndexEntry<IK, IE, PK, D>, IF extends io.datarouter.model.serialize.fielder.DatabeanFielder<IK, IE>>
    io.datarouter.scanner.Scanner<D>
    scanRangesByIndex(IndexEntryFieldInfo<IK,IE,IF> indexEntryFieldInfo, Collection<io.datarouter.util.tuple.Range<IK>> ranges)
     
    <IK extends io.datarouter.model.key.primary.PrimaryKey<IK>, IE extends io.datarouter.model.index.IndexEntry<IK, IE, PK, D>, IF extends io.datarouter.model.serialize.fielder.DatabeanFielder<IK, IE>>
    io.datarouter.scanner.Scanner<D>
    scanRangesByIndex(IndexEntryFieldInfo<IK,IE,IF> indexEntryFieldInfo, Collection<io.datarouter.util.tuple.Range<IK>> ranges, Config config)
     
    default <IK extends io.datarouter.model.key.primary.PrimaryKey<IK>, IE extends io.datarouter.model.index.IndexEntry<IK, IE, PK, D>, IF extends io.datarouter.model.serialize.fielder.DatabeanFielder<IK, IE>>
    io.datarouter.scanner.Scanner<IE>
    scanRangesIndex(IndexEntryFieldInfo<IK,IE,IF> indexEntryFieldInfo, Collection<io.datarouter.util.tuple.Range<IK>> ranges)
     
    <IK extends io.datarouter.model.key.primary.PrimaryKey<IK>, IE extends io.datarouter.model.index.IndexEntry<IK, IE, PK, D>, IF extends io.datarouter.model.serialize.fielder.DatabeanFielder<IK, IE>>
    io.datarouter.scanner.Scanner<IE>
    scanRangesIndex(IndexEntryFieldInfo<IK,IE,IF> indexEntryFieldInfo, Collection<io.datarouter.util.tuple.Range<IK>> ranges, Config config)
     
    default <IK extends io.datarouter.model.key.primary.PrimaryKey<IK>, IE extends io.datarouter.model.index.IndexEntry<IK, IE, PK, D>, IF extends io.datarouter.model.serialize.fielder.DatabeanFielder<IK, IE>>
    io.datarouter.scanner.Scanner<IK>
    scanRangesIndexKeys(IndexEntryFieldInfo<IK,IE,IF> indexEntryFieldInfo, Collection<io.datarouter.util.tuple.Range<IK>> ranges)
     
    <IK extends io.datarouter.model.key.primary.PrimaryKey<IK>, IE extends io.datarouter.model.index.IndexEntry<IK, IE, PK, D>, IF extends io.datarouter.model.serialize.fielder.DatabeanFielder<IK, IE>>
    io.datarouter.scanner.Scanner<IK>
    scanRangesIndexKeys(IndexEntryFieldInfo<IK,IE,IF> indexEntryFieldInfo, Collection<io.datarouter.util.tuple.Range<IK>> ranges, Config config)
     

    Methods inherited from interface io.datarouter.storage.node.op.IndexedOps

    getManagedNodes, registerManaged
  • Field Details

  • Method Details

    • lookupUnique

      D lookupUnique(io.datarouter.model.key.unique.UniqueKey<PK> uniqueKey, Config config)
    • lookupUnique

      default D lookupUnique(io.datarouter.model.key.unique.UniqueKey<PK> uniqueKey)
    • lookupMultiUnique

      List<D> lookupMultiUnique(Collection<? extends io.datarouter.model.key.unique.UniqueKey<PK>> uniqueKeys, Config config)
    • lookupMultiUnique

      default List<D> lookupMultiUnique(Collection<? extends io.datarouter.model.key.unique.UniqueKey<PK>> uniqueKeys)
    • getMultiFromIndex

      <IK extends io.datarouter.model.key.primary.PrimaryKey<IK>, IE extends io.datarouter.model.index.IndexEntry<IK, IE, PK, D>, IF extends io.datarouter.model.serialize.fielder.DatabeanFielder<IK, IE>> List<IE> getMultiFromIndex(Collection<IK> keys, Config config, IndexEntryFieldInfo<IK,IE,IF> indexEntryFieldInfo)
    • getMultiFromIndex

      default <IK extends io.datarouter.model.key.primary.PrimaryKey<IK>, IE extends io.datarouter.model.index.IndexEntry<IK, IE, PK, D>, IF extends io.datarouter.model.serialize.fielder.DatabeanFielder<IK, IE>> List<IE> getMultiFromIndex(Collection<IK> keys, IndexEntryFieldInfo<IK,IE,IF> indexEntryFieldInfo)
    • getMultiByIndex

      <IK extends io.datarouter.model.key.primary.PrimaryKey<IK>, IE extends io.datarouter.model.index.IndexEntry<IK, IE, PK, D>, IF extends io.datarouter.model.serialize.fielder.DatabeanFielder<IK, IE>> List<D> getMultiByIndex(Collection<IK> keys, Config config, IndexEntryFieldInfo<IK,IE,IF> indexEntryFieldInfo)
    • getMultiByIndex

      default <IK extends io.datarouter.model.key.primary.PrimaryKey<IK>, IE extends io.datarouter.model.index.IndexEntry<IK, IE, PK, D>, IF extends io.datarouter.model.serialize.fielder.DatabeanFielder<IK, IE>> List<D> getMultiByIndex(Collection<IK> keys, IndexEntryFieldInfo<IK,IE,IF> indexEntryFieldInfo)
    • scanRangesIndex

      <IK extends io.datarouter.model.key.primary.PrimaryKey<IK>, IE extends io.datarouter.model.index.IndexEntry<IK, IE, PK, D>, IF extends io.datarouter.model.serialize.fielder.DatabeanFielder<IK, IE>> io.datarouter.scanner.Scanner<IE> scanRangesIndex(IndexEntryFieldInfo<IK,IE,IF> indexEntryFieldInfo, Collection<io.datarouter.util.tuple.Range<IK>> ranges, Config config)
    • scanRangesIndex

      default <IK extends io.datarouter.model.key.primary.PrimaryKey<IK>, IE extends io.datarouter.model.index.IndexEntry<IK, IE, PK, D>, IF extends io.datarouter.model.serialize.fielder.DatabeanFielder<IK, IE>> io.datarouter.scanner.Scanner<IE> scanRangesIndex(IndexEntryFieldInfo<IK,IE,IF> indexEntryFieldInfo, Collection<io.datarouter.util.tuple.Range<IK>> ranges)
    • scanRangesByIndex

      <IK extends io.datarouter.model.key.primary.PrimaryKey<IK>, IE extends io.datarouter.model.index.IndexEntry<IK, IE, PK, D>, IF extends io.datarouter.model.serialize.fielder.DatabeanFielder<IK, IE>> io.datarouter.scanner.Scanner<D> scanRangesByIndex(IndexEntryFieldInfo<IK,IE,IF> indexEntryFieldInfo, Collection<io.datarouter.util.tuple.Range<IK>> ranges, Config config)
    • scanRangesByIndex

      default <IK extends io.datarouter.model.key.primary.PrimaryKey<IK>, IE extends io.datarouter.model.index.IndexEntry<IK, IE, PK, D>, IF extends io.datarouter.model.serialize.fielder.DatabeanFielder<IK, IE>> io.datarouter.scanner.Scanner<D> scanRangesByIndex(IndexEntryFieldInfo<IK,IE,IF> indexEntryFieldInfo, Collection<io.datarouter.util.tuple.Range<IK>> ranges)
    • scanRangesIndexKeys

      <IK extends io.datarouter.model.key.primary.PrimaryKey<IK>, IE extends io.datarouter.model.index.IndexEntry<IK, IE, PK, D>, IF extends io.datarouter.model.serialize.fielder.DatabeanFielder<IK, IE>> io.datarouter.scanner.Scanner<IK> scanRangesIndexKeys(IndexEntryFieldInfo<IK,IE,IF> indexEntryFieldInfo, Collection<io.datarouter.util.tuple.Range<IK>> ranges, Config config)
    • scanRangesIndexKeys

      default <IK extends io.datarouter.model.key.primary.PrimaryKey<IK>, IE extends io.datarouter.model.index.IndexEntry<IK, IE, PK, D>, IF extends io.datarouter.model.serialize.fielder.DatabeanFielder<IK, IE>> io.datarouter.scanner.Scanner<IK> scanRangesIndexKeys(IndexEntryFieldInfo<IK,IE,IF> indexEntryFieldInfo, Collection<io.datarouter.util.tuple.Range<IK>> ranges)