Class ObjectInserter.Formatter
- java.lang.Object
-
- org.eclipse.jgit.lib.ObjectInserter
-
- org.eclipse.jgit.lib.ObjectInserter.Formatter
-
- All Implemented Interfaces:
AutoCloseable
- Enclosing class:
- ObjectInserter
public static class ObjectInserter.Formatter extends ObjectInserter
An inserter that can be used for formatting and id generation only.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.eclipse.jgit.lib.ObjectInserter
ObjectInserter.Filter, ObjectInserter.Formatter
-
-
Constructor Summary
Constructors Constructor Description Formatter()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
void
flush()
Make all inserted objects visible.ObjectId
insert(int objectType, long length, InputStream in)
Insert a single object into the store, returning its unique name.PackParser
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.
-
-
-
Method Detail
-
insert
public ObjectId insert(int objectType, long length, InputStream in) throws IOException
Description copied from class:ObjectInserter
Insert a single object into the store, returning its unique name.- Specified by:
insert
in classObjectInserter
- Parameters:
objectType
- type code of the object to store.length
- number of bytes to copy fromin
.in
- stream providing the object content. The caller is responsible for closing the stream.- Returns:
- the name of the object.
- Throws:
IOException
- the object could not be stored, or the source stream could not be read.
-
newPackParser
public PackParser newPackParser(InputStream in) throws IOException
Description copied from class:ObjectInserter
Initialize a parser to read from a pack formatted stream.- Specified by:
newPackParser
in classObjectInserter
- Parameters:
in
- the input stream. The stream is not closed by the parser, and must instead be closed by the caller once parsing is complete.- Returns:
- the pack parser.
- Throws:
IOException
- the parser instance, which can be configured and then used to parse objects into the ObjectDatabase.
-
newReader
public ObjectReader newReader()
Description copied from class:ObjectInserter
Open a reader for objects that may have been written by this inserter.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 tothis.newReader().newReader()
.The returned reader should return this inserter instance from
ObjectReader.getCreatedFromInserter()
.Behavior is undefined if an insert method is called on the inserter in the middle of reading from an
ObjectStream
opened from this reader. For example, reading the remainder of the object may fail, or newly written data may even be corrupted. Interleaving whole object reads (including streaming reads) with inserts is fine, just not interleaving streaming partial object reads with inserts.- Specified by:
newReader
in classObjectInserter
- Returns:
- reader for any object, including an object recently inserted by this inserter since the last flush.
-
flush
public void flush() throws IOException
Description copied from class:ObjectInserter
Make all inserted objects visible.The flush may take some period of time to make the objects available to other threads.
- Specified by:
flush
in classObjectInserter
- Throws:
IOException
- the flush could not be completed; objects inserted thus far are in an indeterminate state.
-
close
public void close()
Description copied from class:ObjectInserter
Release any resources used by this inserter.
An inserter that has been released can be used again, but may need to be released after the subsequent usage.
- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in classObjectInserter
-
-