From: Marek Zawirski <marek.zawirski@gmail.com>
To: robin.rosenberg@dewire.com, spearce@spearce.org
Cc: git@vger.kernel.org, Marek Zawirski <marek.zawirski@gmail.com>
Subject: [JGIT PATCH 04/12] Add getType() method to RevObject hierarchy
Date: Mon, 2 Jun 2008 23:24:35 +0200 [thread overview]
Message-ID: <1212441883-12990-5-git-send-email-marek.zawirski@gmail.com> (raw)
In-Reply-To: <1212441883-12990-4-git-send-email-marek.zawirski@gmail.com>
This let us avoid using instanceof.
Signed-off-by: Marek Zawirski <marek.zawirski@gmail.com>
---
.../src/org/spearce/jgit/revwalk/RevBlob.java | 6 ++++++
.../src/org/spearce/jgit/revwalk/RevCommit.java | 5 +++++
.../src/org/spearce/jgit/revwalk/RevObject.java | 8 ++++++++
.../src/org/spearce/jgit/revwalk/RevTag.java | 5 +++++
.../src/org/spearce/jgit/revwalk/RevTree.java | 6 ++++++
5 files changed, 30 insertions(+), 0 deletions(-)
diff --git a/org.spearce.jgit/src/org/spearce/jgit/revwalk/RevBlob.java b/org.spearce.jgit/src/org/spearce/jgit/revwalk/RevBlob.java
index f6d34f4..66cdc02 100644
--- a/org.spearce.jgit/src/org/spearce/jgit/revwalk/RevBlob.java
+++ b/org.spearce.jgit/src/org/spearce/jgit/revwalk/RevBlob.java
@@ -38,6 +38,7 @@
package org.spearce.jgit.revwalk;
import org.spearce.jgit.lib.AnyObjectId;
+import org.spearce.jgit.lib.Constants;
/** A binary file, or a symbolic link. */
public class RevBlob extends RevObject {
@@ -55,4 +56,9 @@ public class RevBlob extends RevObject {
void parse(final RevWalk walk) {
flags |= PARSED;
}
+
+ @Override
+ public int getType() {
+ return Constants.OBJ_BLOB;
+ }
}
diff --git a/org.spearce.jgit/src/org/spearce/jgit/revwalk/RevCommit.java b/org.spearce.jgit/src/org/spearce/jgit/revwalk/RevCommit.java
index 0aa7098..77f1d1a 100644
--- a/org.spearce.jgit/src/org/spearce/jgit/revwalk/RevCommit.java
+++ b/org.spearce.jgit/src/org/spearce/jgit/revwalk/RevCommit.java
@@ -135,6 +135,11 @@ public class RevCommit extends RevObject {
buffer = raw;
flags |= PARSED;
}
+
+ @Override
+ public int getType() {
+ return Constants.OBJ_COMMIT;
+ }
static void carryFlags(RevCommit c, final int carry) {
for (;;) {
diff --git a/org.spearce.jgit/src/org/spearce/jgit/revwalk/RevObject.java b/org.spearce.jgit/src/org/spearce/jgit/revwalk/RevObject.java
index 86c50b5..451205c 100644
--- a/org.spearce.jgit/src/org/spearce/jgit/revwalk/RevObject.java
+++ b/org.spearce.jgit/src/org/spearce/jgit/revwalk/RevObject.java
@@ -42,6 +42,7 @@ import java.io.IOException;
import org.spearce.jgit.errors.IncorrectObjectTypeException;
import org.spearce.jgit.errors.MissingObjectException;
import org.spearce.jgit.lib.AnyObjectId;
+import org.spearce.jgit.lib.Constants;
import org.spearce.jgit.lib.ObjectId;
/** Base object type accessed during revision walking. */
@@ -56,6 +57,13 @@ public abstract class RevObject extends ObjectId {
abstract void parse(RevWalk walk) throws MissingObjectException,
IncorrectObjectTypeException, IOException;
+
+ /**
+ * Get Git object type. See {@link Constants}.
+ *
+ * @return object type
+ */
+ public abstract int getType();
/**
* Get the name of this object.
diff --git a/org.spearce.jgit/src/org/spearce/jgit/revwalk/RevTag.java b/org.spearce.jgit/src/org/spearce/jgit/revwalk/RevTag.java
index 668819c..bbb18ee 100644
--- a/org.spearce.jgit/src/org/spearce/jgit/revwalk/RevTag.java
+++ b/org.spearce.jgit/src/org/spearce/jgit/revwalk/RevTag.java
@@ -96,6 +96,11 @@ public class RevTag extends RevObject {
flags |= PARSED;
}
+ @Override
+ public int getType() {
+ return Constants.OBJ_TAG;
+ }
+
/**
* Parse this tag buffer for display.
*
diff --git a/org.spearce.jgit/src/org/spearce/jgit/revwalk/RevTree.java b/org.spearce.jgit/src/org/spearce/jgit/revwalk/RevTree.java
index 7ad9be0..e1cd4b5 100644
--- a/org.spearce.jgit/src/org/spearce/jgit/revwalk/RevTree.java
+++ b/org.spearce.jgit/src/org/spearce/jgit/revwalk/RevTree.java
@@ -38,6 +38,7 @@
package org.spearce.jgit.revwalk;
import org.spearce.jgit.lib.AnyObjectId;
+import org.spearce.jgit.lib.Constants;
/** A reference to a tree of subtrees/files. */
public class RevTree extends RevObject {
@@ -55,4 +56,9 @@ public class RevTree extends RevObject {
void parse(final RevWalk walk) {
flags |= PARSED;
}
+
+ @Override
+ public int getType() {
+ return Constants.OBJ_TREE;
+ }
}
--
1.5.5.1
next prev parent reply other threads:[~2008-06-02 21:26 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-06-02 21:24 [JGIT PATCH 00/12] Extensions in core needed by PackWriter Marek Zawirski
2008-06-02 21:24 ` [JGIT PATCH 01/12] Format PackFile class Marek Zawirski
2008-06-02 21:24 ` [JGIT PATCH 02/12] Format PackIndex class Marek Zawirski
2008-06-02 21:24 ` [JGIT PATCH 03/12] Format PackIndexV1 class Marek Zawirski
2008-06-02 21:24 ` Marek Zawirski [this message]
2008-06-02 21:24 ` [JGIT PATCH 05/12] Replace instanceof in WalkFetchConnection with getType() Marek Zawirski
2008-06-02 21:24 ` [JGIT PATCH 06/12] Move PackFile.SIGNATURE to Constants.PACK_SIGNATURE Marek Zawirski
2008-06-02 21:24 ` [JGIT PATCH 07/12] Add overload of fromRaw() in MutableObjectId accepting int[] Marek Zawirski
2008-06-02 21:24 ` [JGIT PATCH 08/12] Copying constructor of MutableObjectId Marek Zawirski
2008-06-02 21:24 ` [JGIT PATCH 09/12] Add getSize() method to ObjectIdSubclassMap Marek Zawirski
2008-06-02 21:24 ` [JGIT PATCH 10/12] Add getObjectCount() method to PackFile Marek Zawirski
2008-06-02 21:24 ` [JGIT PATCH 11/12] Entries iterator in PackIndex and indirectly PackFile Marek Zawirski
2008-06-02 21:24 ` [JGIT PATCH 12/12] Add PackIndex specific tests, currently only iterators tests Marek Zawirski
2008-06-06 13:24 ` [JGIT PATCH 09/12] Add getSize() method to ObjectIdSubclassMap Robin Rosenberg
2008-06-07 0:10 ` [JGIT PATCH v2 09/12] Add size() " Marek Zawirski
2008-06-06 13:24 ` [JGIT PATCH 04/12] Add getType() method to RevObject hierarchy Robin Rosenberg
2008-06-07 0:10 ` [JGIT PATCH v2 " Marek Zawirski
2008-06-02 22:15 ` [JGIT PATCH 00/12] Extensions in core needed by PackWriter Johannes Schindelin
2008-06-02 22:58 ` Marek Zawirski
2008-06-02 23:43 ` Johannes Schindelin
2008-06-06 13:24 ` Robin Rosenberg
2008-06-07 0:06 ` Marek Zawirski
2008-06-07 7:16 ` Shawn O. Pearce
2008-06-10 21:09 ` Robin Rosenberg
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1212441883-12990-5-git-send-email-marek.zawirski@gmail.com \
--to=marek.zawirski@gmail.com \
--cc=git@vger.kernel.org \
--cc=robin.rosenberg@dewire.com \
--cc=spearce@spearce.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).