From: Shawn O. Pearce Date: Fri, 18 Jul 2008 01:44:08 GMT Subject: [JGIT PATCH 15/28] Register most of our OptionHandler implementations for automatic use Message-ID: <1216345461-59382-16-git-send-email-spearce@spearce.org> In-Reply-To: <1216345461-59382-15-git-send-email-spearce@spearce.org> Most of these types are common in our command line tools and we will want to use them over and over again. So we can register them in our class initializer and be certain they get associated to an instance member automatically by type. Signed-off-by: Shawn O. Pearce --- .../org/spearce/jgit/pgm/opt/CmdLineParser.java | 14 ++++++++++++++ 1 files changed, 14 insertions(+), 0 deletions(-) diff --git a/org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/opt/CmdLineParser.java b/org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/opt/CmdLineParser.java index 257d88f..62197e4 100644 --- a/org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/opt/CmdLineParser.java +++ b/org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/opt/CmdLineParser.java @@ -43,9 +43,14 @@ import org.kohsuke.args4j.Argument; import org.kohsuke.args4j.CmdLineException; import org.kohsuke.args4j.IllegalAnnotationError; import org.kohsuke.args4j.Option; +import org.spearce.jgit.lib.ObjectId; import org.spearce.jgit.lib.Repository; import org.spearce.jgit.pgm.TextBuiltin; +import org.spearce.jgit.revwalk.RevCommit; +import org.spearce.jgit.revwalk.RevTree; import org.spearce.jgit.revwalk.RevWalk; +import org.spearce.jgit.transport.RefSpec; +import org.spearce.jgit.treewalk.AbstractTreeIterator; /** * Extended command line parser which handles --foo=value arguments. @@ -56,6 +61,15 @@ import org.spearce.jgit.revwalk.RevWalk; * args4j style format prior to invoking args4j for parsing. */ public class CmdLineParser extends org.kohsuke.args4j.CmdLineParser { + static { + registerHandler(AbstractTreeIterator.class, + AbstractTreeIteratorHandler.class); + registerHandler(ObjectId.class, ObjectIdHandler.class); + registerHandler(RefSpec.class, RefSpecHandler.class); + registerHandler(RevCommit.class, RevCommitHandler.class); + registerHandler(RevTree.class, RevTreeHandler.class); + } + private final Repository db; private RevWalk walk; -- 1.5.6.3.569.ga9185