Completely rewrote object data access to improve performance.
[egit.git] / org.spearce.jgit / src / org / spearce / jgit / lib / WholePackedObjectLoader.java
blob9e2d6ea3b502903a414ca56702fcbdc97b5a7dfa
1 package org.spearce.jgit.lib;
3 import java.io.IOException;
4 import java.util.zip.DataFormatException;
6 import org.spearce.jgit.errors.CorruptObjectException;
8 /** Reader for a non-delta (just deflated) object in a pack file. */
9 class WholePackedObjectLoader extends PackedObjectLoader {
10 WholePackedObjectLoader(final PackFile pr, final long offset,
11 final String type, final int size) {
12 super(pr, offset);
13 objectType = type;
14 objectSize = size;
17 public byte[] getBytes() throws IOException {
18 try {
19 return pack.decompress(dataOffset, objectSize);
20 } catch (DataFormatException dfe) {
21 final CorruptObjectException coe;
22 coe = new CorruptObjectException(getId(), "bad stream");
23 coe.initCause(dfe);
24 throw coe;