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, 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 java.lang.String OP_getByIndex  
    static java.lang.String OP_getByIndexRange  
    static java.lang.String OP_getFromIndex  
    static java.lang.String OP_getIndexKeyRange  
    static java.lang.String OP_getIndexRange  
    static java.lang.String OP_lookupMultiUnique  
    static java.lang.String OP_lookupUnique  
    static java.lang.String OP_scanByIndex  
    static java.lang.String OP_scanIndex  
    static java.lang.String OP_scanIndexKeys  
  • 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>>
    java.util.List<D>
    getMultiByIndex​(java.util.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>>
    java.util.List<D>
    getMultiByIndex​(java.util.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>>
    java.util.List<IE>
    getMultiFromIndex​(java.util.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>>
    java.util.List<IE>
    getMultiFromIndex​(java.util.Collection<IK> keys, IndexEntryFieldInfo<IK,​IE,​IF> indexEntryFieldInfo)  
    default java.util.List<D> lookupMultiUnique​(java.util.Collection<? extends io.datarouter.model.key.unique.UniqueKey<PK>> uniqueKeys)  
    java.util.List<D> lookupMultiUnique​(java.util.Collection<? extends io.datarouter.model.key.unique.UniqueKey<PK>> uniqueKeys, Config config)  
    default D lookupUnique​(io.datarouter.model.key.unique.UniqueKey<PK> uniqueKey)  
    D 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, java.util.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, java.util.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, java.util.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, java.util.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, java.util.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, java.util.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

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

      default java.util.List<D> lookupMultiUnique​(java.util.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>> java.util.List<IE> getMultiFromIndex​(java.util.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>> java.util.List<IE> getMultiFromIndex​(java.util.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>> java.util.List<D> getMultiByIndex​(java.util.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>> java.util.List<D> getMultiByIndex​(java.util.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, java.util.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, java.util.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, java.util.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, java.util.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, java.util.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, java.util.Collection<io.datarouter.util.tuple.Range<IK>> ranges)