1 /* 2 * Copyright (C) 2013, Robin Rosenberg <robin.rosenberg@dewire.com> and others 3 * 4 * This program and the accompanying materials are made available under the 5 * terms of the Eclipse Distribution License v. 1.0 which is available at 6 * https://www.eclipse.org/org/documents/edl-v10.php. 7 * 8 * SPDX-License-Identifier: BSD-3-Clause 9 */ 10 11 package org.eclipse.jgit.lib; 12 13 import java.io.IOException; 14 import java.util.List; 15 16 /** 17 * Utility for reading reflog entries 18 * 19 * @since 3.0 20 */ 21 public interface ReflogReader { 22 23 /** 24 * Get the last entry in the reflog 25 * 26 * @return the latest reflog entry, or null if no log 27 * @throws java.io.IOException 28 */ 29 ReflogEntry getLastEntry() throws IOException; 30 31 /** 32 * Get all reflog entries in reverse order 33 * 34 * @return all reflog entries in reverse order 35 * @throws java.io.IOException 36 */ 37 List<ReflogEntry> getReverseEntries() throws IOException; 38 39 /** 40 * Get specific entry in the reflog relative to the last entry which is 41 * considered entry zero. 42 * 43 * @param number a int. 44 * @return reflog entry or null if not found 45 * @throws java.io.IOException 46 */ 47 ReflogEntry getReverseEntry(int number) throws IOException; 48 49 /** 50 * Get all reflog entries in reverse order 51 * 52 * @param max 53 * max number of entries to read 54 * @return all reflog entries in reverse order 55 * @throws java.io.IOException 56 */ 57 List<ReflogEntry> getReverseEntries(int max) throws IOException; 58 }