Class HashIndex

java.lang.Object
org.nustaq.reallive.server.storage.HashIndex
All Implemented Interfaces:
StorageIndex

public class HashIndex
extends java.lang.Object
implements StorageIndex
acts as a passive listener to maintain state Consider: null indexHashValues need not to be tracked as a separate bucket, => fallback to full scan then ?
  • Constructor Summary

    Constructors 
    Constructor Description
    HashIndex​(RLFunction<Record,​java.lang.Object> hashGetter, java.lang.String hashPath)  
  • Method Summary

    Modifier and Type Method Description
    <T> void forEachWithSpore​(java.lang.Object hashValue, org.nustaq.kontraktor.Spore<Record,​T> spore, RecordStorage store)  
    RLFunction<Record,​java.lang.Object> getHashGetter()  
    java.lang.String getHashPath()  
    java.util.Map<java.lang.Object,​java.util.Set<java.lang.String>> getIndex()  
    java.util.Map<java.lang.String,​java.lang.Object> getKey2HashVal()  
    java.util.stream.Stream<java.lang.String> getKeys​(java.lang.Object key)  
    java.util.Set<java.lang.String> getKeySet​(java.lang.Object key)  
    static void main​(java.lang.String[] args)  
    void put​(java.lang.String key, Record value)  
    void remove​(java.lang.String key)  
    static java.lang.Object unifyKey​(java.lang.Object key)  

    Methods inherited from class java.lang.Object

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

  • Method Details

    • getHashPath

      public java.lang.String getHashPath()
    • getHashGetter

      public RLFunction<Record,​java.lang.Object> getHashGetter()
    • getIndex

      public java.util.Map<java.lang.Object,​java.util.Set<java.lang.String>> getIndex()
    • getKey2HashVal

      public java.util.Map<java.lang.String,​java.lang.Object> getKey2HashVal()
    • put

      public void put​(java.lang.String key, Record value)
      Specified by:
      put in interface StorageIndex
    • unifyKey

      public static java.lang.Object unifyKey​(java.lang.Object key)
    • remove

      public void remove​(java.lang.String key)
      Specified by:
      remove in interface StorageIndex
    • forEachWithSpore

      public <T> void forEachWithSpore​(java.lang.Object hashValue, org.nustaq.kontraktor.Spore<Record,​T> spore, RecordStorage store)
      Specified by:
      forEachWithSpore in interface StorageIndex
    • main

      public static void main​(java.lang.String[] args)
    • getKeys

      public java.util.stream.Stream<java.lang.String> getKeys​(java.lang.Object key)
    • getKeySet

      public java.util.Set<java.lang.String> getKeySet​(java.lang.Object key)