@Override public RevObject read(ObjectId id, InputStream in) throws IOException { final int serialVersionHeader = in.read(); assert serialVersionHeader >= 0 && serialVersionHeader <= maxFormatCode; final RevObjectSerializer serializer = serializer(id, serialVersionHeader); RevObject revObject = serializer.read(id, in); return revObject; }
@Override public RevObject read(@Nullable ObjectId id, byte[] data, int offset, int length) { final int serialVersionHeader = data[offset] & 0xFF; assert serialVersionHeader >= 0 && serialVersionHeader <= maxFormatCode; final RevObjectSerializer serializer = serializer(id, serialVersionHeader); RevObject revObject; try { revObject = serializer.read(id, data, offset + 1, length - 1); } catch (IOException e) { throw new RuntimeException("Error reading object " + id, e); } return revObject; }