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 String OP_getByIndex  
    static String OP_getByIndexRange  
    static String OP_getFromIndex  
    static String OP_getIndexKeyRange  
    static String OP_getIndexRange  
    static String OP_lookupMultiUnique  
    static String OP_lookupUnique  
    static String OP_scanByIndex  
    static String OP_scanIndex  
    static 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>>
    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)  
    List<D> lookupMultiUnique​(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, 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