Class ReftableReflogReader

  • All Implemented Interfaces:
    ReflogReader

    public class ReftableReflogReader
    extends java.lang.Object
    implements ReflogReader
    Implement the ReflogReader interface for a reflog stored in reftable.
    • Field Detail

      • lock

        private final java.util.concurrent.locks.Lock lock
      • reftable

        private final Reftable reftable
      • refname

        private final java.lang.String refname
    • Constructor Detail

      • ReftableReflogReader

        ReftableReflogReader​(java.util.concurrent.locks.Lock lock,
                             Reftable merged,
                             java.lang.String refname)
    • Method Detail

      • getLastEntry

        public ReflogEntry getLastEntry()
                                 throws java.io.IOException
        Get the last entry in the reflog
        Specified by:
        getLastEntry in interface ReflogReader
        Returns:
        the latest reflog entry, or null if no log
        Throws:
        java.io.IOException
      • getReverseEntries

        public java.util.List<ReflogEntry> getReverseEntries()
                                                      throws java.io.IOException
        Get all reflog entries in reverse order
        Specified by:
        getReverseEntries in interface ReflogReader
        Returns:
        all reflog entries in reverse order
        Throws:
        java.io.IOException
      • getReverseEntry

        public ReflogEntry getReverseEntry​(int number)
                                    throws java.io.IOException
        Get specific entry in the reflog relative to the last entry which is considered entry zero.
        Specified by:
        getReverseEntry in interface ReflogReader
        Parameters:
        number - a int.
        Returns:
        reflog entry or null if not found
        Throws:
        java.io.IOException
      • getReverseEntries

        public java.util.List<ReflogEntry> getReverseEntries​(int max)
                                                      throws java.io.IOException
        Get all reflog entries in reverse order
        Specified by:
        getReverseEntries in interface ReflogReader
        Parameters:
        max - max number of entries to read
        Returns:
        all reflog entries in reverse order
        Throws:
        java.io.IOException