Top Description Fields Constructors Methods
org.eclipse.jgit.lfs.internal

public Class AtomicObjectOutputStream

extends OutputStream
Class Inheritance
Imports
java.io.IOException, .OutputStream, java.nio.file.Path, java.security.DigestOutputStream, java.text.MessageFormat, org.eclipse.jgit.annotations.Nullable, org.eclipse.jgit.internal.storage.file.LockFile, org.eclipse.jgit.lfs.errors.CorruptLongObjectException, org.eclipse.jgit.lfs.lib.AnyLongObjectId, .Constants, .LongObjectId

Output stream writing content to a org.eclipse.jgit.internal.storage.file.LockFile which is committed on close(). The stream checks if the hash of the stream content matches the id.

Field Summary

Modifier and TypeField and Description
private boolean
private AnyLongObjectId
private LockFile
private DigestOutputStream

Constructor Summary

AccessConstructor and Description
public
AtomicObjectOutputStream(Path path, AnyLongObjectId id)

Constructor for AtomicObjectOutputStream.

public
AtomicObjectOutputStream(Path path)

Constructor for AtomicObjectOutputStream.

Method Summary

Modifier and TypeMethod and Description
public void
abort()

Aborts the stream.

public void
close()

Overrides java.io.OutputStream.close.

Implements java.io.Closeable.close.

Closes this output stream and releases any system resources associated with this stream.

public AnyLongObjectId

Returns:

content hash of the object which was streamed through this stream. May return null if called before closing this stream.
getId
()

Get the id.

private void
public void
write(int
the byte.
b
)

Implements abstract java.io.OutputStream.write.

Writes the specified byte to this output stream.

public void
write(byte[]
the data.
b
)

Overrides java.io.OutputStream.write.

Writes b.length bytes from the specified byte array to this output stream.

public void
write(byte[]
the data.
b
,
int
the start offset in the data.
off
,
int
the number of bytes to write.
len
)

Overrides java.io.OutputStream.write.

Writes len bytes from the specified byte array starting at offset off to this output stream.

Inherited from java.io.OutputStream:
flushnullOutputStream

Field Detail

abortedback to summary
private boolean aborted
idback to summary
private AnyLongObjectId id
lockedback to summary
private LockFile locked
outback to summary
private DigestOutputStream out

Constructor Detail

AtomicObjectOutputStreamback to summary
public AtomicObjectOutputStream(Path path, AnyLongObjectId id) throws IOException

Constructor for AtomicObjectOutputStream.

Parameters
path:Path

a java.nio.file.Path object.

id:AnyLongObjectId

a org.eclipse.jgit.lfs.lib.AnyLongObjectId object.

Exceptions
IOException:
if an IO error occurred
AtomicObjectOutputStreamback to summary
public AtomicObjectOutputStream(Path path) throws IOException

Constructor for AtomicObjectOutputStream.

Parameters
path:Path

a java.nio.file.Path object.

Exceptions
IOException:
if an IO error occurred

Method Detail

abortback to summary
public void abort()

Aborts the stream. Temporary file will be deleted

closeback to summary
public void close() throws IOException

Overrides java.io.OutputStream.close.

Implements java.io.Closeable.close.

Doc from java.io.OutputStream.close.

Closes this output stream and releases any system resources associated with this stream. The general contract of close is that it closes the output stream. A closed stream cannot perform output operations and cannot be reopened.

Annotations
@Override
Exceptions
IOException:
if an I/O error occurs.
getIdback to summary
public AnyLongObjectId getId()

Get the id.

Returns:AnyLongObjectId

content hash of the object which was streamed through this stream. May return null if called before closing this stream.

Annotations
@Nullable
verifyHashback to summary
private void verifyHash()
writeback to summary
public void write(int b) throws IOException

Implements abstract java.io.OutputStream.write.

Doc from java.io.OutputStream.write.

Writes the specified byte to this output stream. The general contract for write is that one byte is written to the output stream. The byte to be written is the eight low-order bits of the argument b. The 24 high-order bits of b are ignored.

Parameters
b:int

the byte.

Annotations
@Override
Exceptions
IOException:
if an I/O error occurs. In particular, an IOException may be thrown if the output stream has been closed.
writeback to summary
public void write(byte[] b) throws IOException

Overrides java.io.OutputStream.write.

Doc from java.io.OutputStream.write.

Writes b.length bytes from the specified byte array to this output stream. The general contract for write(b) is that it should have exactly the same effect as the call write(b, 0, b.length).

Parameters
b:byte[]

the data.

Annotations
@Override
Exceptions
IOException:
if an I/O error occurs.
writeback to summary
public void write(byte[] b, int off, int len) throws IOException

Overrides java.io.OutputStream.write.

Doc from java.io.OutputStream.write.

Writes len bytes from the specified byte array starting at offset off to this output stream. The general contract for write(b, off, len) is that some of the bytes in the array b are written to the output stream in order; element b[off] is the first byte written and b[off+len-1] is the last byte written by this operation.

If b is null, a NullPointerException is thrown.

If off is negative, or len is negative, or off+len is greater than the length of the array b, then an IndexOutOfBoundsException is thrown.

Parameters
b:byte[]

the data.

off:int

the start offset in the data.

len:int

the number of bytes to write.

Annotations
@Override
Exceptions
IOException:
if an I/O error occurs. In particular, an IOException is thrown if the output stream is closed.