public class DfsInserter extends ObjectInserter
ObjectInserter.Filter, ObjectInserter.Formatter
Modifier | Constructor and Description |
---|---|
protected |
DfsInserter(DfsObjDatabase db)
Initialize a new inserter.
|
Modifier and Type | Method and Description |
---|---|
void |
flush()
Make all inserted objects visible.
|
ObjectId |
insert(int type,
byte[] data,
int off,
int len)
Insert a single object into the store, returning its unique name.
|
ObjectId |
insert(int type,
long len,
InputStream in)
Insert a single object into the store, returning its unique name.
|
DfsPackParser |
newPackParser(InputStream in)
Initialize a parser to read from a pack formatted stream.
|
ObjectReader |
newReader()
Open a reader for objects that may have been written by this inserter.
|
void |
release()
Release any resources used by this inserter.
|
protected DfsInserter(DfsObjDatabase db)
db
- database the inserter writes to.public DfsPackParser newPackParser(InputStream in) throws IOException
ObjectInserter
newPackParser
in class ObjectInserter
in
- the input stream. The stream is not closed by the parser, and
must instead be closed by the caller once parsing is complete.IOException
- the parser instance, which can be configured and then used to
parse objects into the ObjectDatabase.public ObjectReader newReader()
ObjectInserter
The returned reader allows the calling thread to read back recently
inserted objects without first calling flush()
to make them
visible to the repository. The returned reader should only be used from
the same thread as the inserter. Objects written by this inserter may not
be visible to this.newReader().newReader()
.
newReader
in class ObjectInserter
public ObjectId insert(int type, byte[] data, int off, int len) throws IOException
ObjectInserter
insert
in class ObjectInserter
type
- type code of the object to store.data
- complete content of the object.off
- first position within data
.len
- number of bytes to copy from data
.IOException
- the object could not be stored.public ObjectId insert(int type, long len, InputStream in) throws IOException
ObjectInserter
insert
in class ObjectInserter
type
- type code of the object to store.len
- number of bytes to copy from in
.in
- stream providing the object content. The caller is responsible
for closing the stream.IOException
- the object could not be stored, or the source stream could
not be read.public void flush() throws IOException
ObjectInserter
The flush may take some period of time to make the objects available to other threads.
flush
in class ObjectInserter
IOException
- the flush could not be completed; objects inserted thus far
are in an indeterminate state.public void release()
ObjectInserter
An inserter that has been released can be used again, but may need to be released after the subsequent usage.
release
in class ObjectInserter
Copyright © 2014. All rights reserved.