Class SortedFileMap<K extends java.lang.Comparable<K>,​V>

  • All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable
    Direct Known Subclasses:
    CachedFileMap

    public abstract class SortedFileMap<K extends java.lang.Comparable<K>,​V>
    extends java.lang.Object
    implements java.io.Closeable
    Author:
    Eike Stepper
    • Constructor Detail

      • SortedFileMap

        public SortedFileMap​(java.io.File file,
                             java.lang.String mode)
        See Also:
        RandomAccessFile(File, String)
    • Method Detail

      • close

        public void close()
                   throws java.io.IOException
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Throws:
        java.io.IOException
      • getFile

        public java.io.File getFile()
      • getRandomAccessFile

        public java.io.RandomAccessFile getRandomAccessFile()
      • getEntryCount

        public long getEntryCount()
      • getEntrySize

        public int getEntrySize()
      • getPosition

        public long getPosition​(long index)
      • getValuePosition

        public long getValuePosition​(long index)
      • getMaxKey

        public K getMaxKey()
      • getKey

        public K getKey​(long index)
      • getValue

        public V getValue​(long index)
      • get

        public V get​(K key)
      • put

        public V put​(K key,
                     V value)
      • search

        protected long search​(K key)
                       throws java.io.IOException
        Returns:
        The index of the entry with the given key if the key exists, -(insertionIndex + 1) otherwise.
        Throws:
        java.io.IOException
      • getKeySize

        public abstract int getKeySize()
      • readKey

        protected abstract K readKey​(ExtendedDataInput in)
                              throws java.io.IOException
        Throws:
        java.io.IOException
      • writeKey

        protected abstract void writeKey​(ExtendedDataOutput out,
                                         K key)
                                  throws java.io.IOException
        Throws:
        java.io.IOException
      • getValueSize

        public abstract int getValueSize()
      • readValue

        protected abstract V readValue​(ExtendedDataInput in)
                                throws java.io.IOException
        Throws:
        java.io.IOException
      • writeValue

        protected abstract void writeValue​(ExtendedDataOutput out,
                                           V value)
                                    throws java.io.IOException
        Throws:
        java.io.IOException