Package org.eclipse.aether.transfer
Class TransferEvent.Builder
- java.lang.Object
-
- org.eclipse.aether.transfer.TransferEvent.Builder
-
- Enclosing class:
- TransferEvent
public static final class TransferEvent.Builder extends Object
A builder to create transfer events.
-
-
Constructor Summary
Constructors Constructor Description Builder(RepositorySystemSession session, TransferResource resource)
Creates a new transfer event builder for the specified session and the given resource.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description TransferEvent.Builder
addTransferredBytes(long transferredBytes)
Increments the total number of bytes that have been transferred so far during the download/upload.TransferEvent
build()
Builds a new transfer event from the current values of this builder.TransferEvent.Builder
copy()
Creates a new transfer event builder from the current values of this builder.TransferEvent.Builder
resetType(TransferEvent.EventType type)
Sets the type of the event and resets event-specific fields.TransferEvent.Builder
setDataBuffer(byte[] buffer, int offset, int length)
Sets the byte buffer holding the transferred bytes since the last event.TransferEvent.Builder
setDataBuffer(ByteBuffer dataBuffer)
Sets the byte buffer holding the transferred bytes since the last event.TransferEvent.Builder
setException(Exception exception)
Sets the error that occurred during the transfer.TransferEvent.Builder
setRequestType(TransferEvent.RequestType requestType)
Sets the type of the request/transfer.TransferEvent.Builder
setTransferredBytes(long transferredBytes)
Sets the total number of bytes that have been transferred so far during the download/upload of the resource.TransferEvent.Builder
setType(TransferEvent.EventType type)
Sets the type of the event.
-
-
-
Constructor Detail
-
Builder
public Builder(RepositorySystemSession session, TransferResource resource)
Creates a new transfer event builder for the specified session and the given resource.- Parameters:
session
- The repository system session, must not benull
.resource
- The resource being transferred, must not benull
.
-
-
Method Detail
-
copy
public TransferEvent.Builder copy()
Creates a new transfer event builder from the current values of this builder. The state of this builder remains unchanged.- Returns:
- The new event builder, never
null
.
-
resetType
public TransferEvent.Builder resetType(TransferEvent.EventType type)
Sets the type of the event and resets event-specific fields. In more detail, the data buffer and the exception fields are set tonull
. Furthermore, the total number of transferred bytes is set to0
if the event type isTransferEvent.EventType.STARTED
.- Parameters:
type
- The type of the event, must not benull
.- Returns:
- This event builder for chaining, never
null
.
-
setType
public TransferEvent.Builder setType(TransferEvent.EventType type)
Sets the type of the event. When re-using the same builder to generate a sequence of events for one transfer,resetType(TransferEvent.EventType)
might be more handy.- Parameters:
type
- The type of the event, must not benull
.- Returns:
- This event builder for chaining, never
null
.
-
setRequestType
public TransferEvent.Builder setRequestType(TransferEvent.RequestType requestType)
Sets the type of the request/transfer.- Parameters:
requestType
- The request/transfer type, must not benull
.- Returns:
- This event builder for chaining, never
null
.
-
setTransferredBytes
public TransferEvent.Builder setTransferredBytes(long transferredBytes)
Sets the total number of bytes that have been transferred so far during the download/upload of the resource. If a download is being resumed, the count must include the bytes that were already downloaded in the previous attempt and from which the current transfer started. In this case, the event typeTransferEvent.EventType.STARTED
should indicate from what byte the download resumes.- Parameters:
transferredBytes
- The total number of bytes that have been transferred so far during the download/upload of the resource, must not be negative.- Returns:
- This event builder for chaining, never
null
. - See Also:
TransferResource.setResumeOffset(long)
-
addTransferredBytes
public TransferEvent.Builder addTransferredBytes(long transferredBytes)
Increments the total number of bytes that have been transferred so far during the download/upload.- Parameters:
transferredBytes
- The number of bytes that have been transferred since the last event, must not be negative.- Returns:
- This event builder for chaining, never
null
.
-
setDataBuffer
public TransferEvent.Builder setDataBuffer(byte[] buffer, int offset, int length)
Sets the byte buffer holding the transferred bytes since the last event.- Parameters:
buffer
- The byte buffer holding the transferred bytes since the last event, may benull
if not applicable to the event.offset
- The starting point of valid bytes in the array.length
- The number of valid bytes, must not be negative.- Returns:
- This event builder for chaining, never
null
.
-
setDataBuffer
public TransferEvent.Builder setDataBuffer(ByteBuffer dataBuffer)
Sets the byte buffer holding the transferred bytes since the last event.- Parameters:
dataBuffer
- The byte buffer holding the transferred bytes since the last event, may benull
if not applicable to the event.- Returns:
- This event builder for chaining, never
null
.
-
setException
public TransferEvent.Builder setException(Exception exception)
Sets the error that occurred during the transfer.- Parameters:
exception
- The error that occurred during the transfer, may benull
if none.- Returns:
- This event builder for chaining, never
null
.
-
build
public TransferEvent build()
Builds a new transfer event from the current values of this builder. The state of the builder itself remains unchanged.- Returns:
- The transfer event, never
null
.
-
-