1
2
3
4
5
6
7
8
9
10 package org.eclipse.jgit.revwalk.filter;
11
12 import java.io.IOException;
13
14 import org.eclipse.jgit.errors.IncorrectObjectTypeException;
15 import org.eclipse.jgit.errors.MissingObjectException;
16 import org.eclipse.jgit.errors.StopWalkException;
17 import org.eclipse.jgit.internal.JGitText;
18 import org.eclipse.jgit.revwalk.RevCommit;
19 import org.eclipse.jgit.revwalk.RevWalk;
20
21
22
23
24 public class SkipRevFilter extends RevFilter {
25
26 private final int skip;
27
28 private int count;
29
30
31
32
33
34
35
36
37 public static RevFilter create(int skip) {
38 if (skip < 0)
39 throw new IllegalArgumentException(
40 JGitText.get().skipMustBeNonNegative);
41 return new SkipRevFilter(skip);
42 }
43
44 private SkipRevFilter(int skip) {
45 this.skip = skip;
46 }
47
48
49 @Override
50 public boolean include(RevWalk walker, RevCommit cmit)
51 throws StopWalkException, MissingObjectException,
52 IncorrectObjectTypeException, IOException {
53 if (skip > count++)
54 return false;
55 return true;
56 }
57
58
59 @Override
60 public RevFilter clone() {
61 return new SkipRevFilter(skip);
62 }
63 }