Package org.apache.maven.cli.transfer
Class SimplexTransferListener
- java.lang.Object
-
- org.eclipse.aether.transfer.AbstractTransferListener
-
- org.apache.maven.cli.transfer.SimplexTransferListener
-
- All Implemented Interfaces:
org.eclipse.aether.transfer.TransferListener
public final class SimplexTransferListener extends org.eclipse.aether.transfer.AbstractTransferListener
ATransferListener
implementation that wraps another delegateTransferListener
but makes it run on single thread, keeping the listener logic simple. This listener also blocks on last transfer event to allow output to perform possible cleanup. It spawns a daemon thread to consume queued events that may fall in even concurrently.- Since:
- 3.9.7
-
-
Constructor Summary
Constructors Constructor Description SimplexTransferListener(org.eclipse.aether.transfer.TransferListener delegate)
Constructor that makes passed in delegate run on single thread, and will block on last event.SimplexTransferListener(org.eclipse.aether.transfer.TransferListener delegate, int queueSize, int batchMaxSize, boolean blockOnLastEvent)
Constructor that may alter behaviour of this listener.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description org.eclipse.aether.transfer.TransferListener
getDelegate()
void
transferCorrupted(org.eclipse.aether.transfer.TransferEvent event)
void
transferFailed(org.eclipse.aether.transfer.TransferEvent event)
void
transferInitiated(org.eclipse.aether.transfer.TransferEvent event)
void
transferProgressed(org.eclipse.aether.transfer.TransferEvent event)
void
transferStarted(org.eclipse.aether.transfer.TransferEvent event)
void
transferSucceeded(org.eclipse.aether.transfer.TransferEvent event)
-
-
-
Constructor Detail
-
SimplexTransferListener
public SimplexTransferListener(org.eclipse.aether.transfer.TransferListener delegate)
Constructor that makes passed in delegate run on single thread, and will block on last event.
-
SimplexTransferListener
public SimplexTransferListener(org.eclipse.aether.transfer.TransferListener delegate, int queueSize, int batchMaxSize, boolean blockOnLastEvent)
Constructor that may alter behaviour of this listener.- Parameters:
delegate
- The delegate that should run on single thread.queueSize
- The event queue size (default1024
).batchMaxSize
- The maximum batch size delegate should receive (default500
).blockOnLastEvent
- Should this listener block on last transfer end (completed or corrupted) block? (defaulttrue
).
-
-
Method Detail
-
getDelegate
public org.eclipse.aether.transfer.TransferListener getDelegate()
-
transferInitiated
public void transferInitiated(org.eclipse.aether.transfer.TransferEvent event)
- Specified by:
transferInitiated
in interfaceorg.eclipse.aether.transfer.TransferListener
- Overrides:
transferInitiated
in classorg.eclipse.aether.transfer.AbstractTransferListener
-
transferStarted
public void transferStarted(org.eclipse.aether.transfer.TransferEvent event) throws org.eclipse.aether.transfer.TransferCancelledException
- Specified by:
transferStarted
in interfaceorg.eclipse.aether.transfer.TransferListener
- Overrides:
transferStarted
in classorg.eclipse.aether.transfer.AbstractTransferListener
- Throws:
org.eclipse.aether.transfer.TransferCancelledException
-
transferProgressed
public void transferProgressed(org.eclipse.aether.transfer.TransferEvent event) throws org.eclipse.aether.transfer.TransferCancelledException
- Specified by:
transferProgressed
in interfaceorg.eclipse.aether.transfer.TransferListener
- Overrides:
transferProgressed
in classorg.eclipse.aether.transfer.AbstractTransferListener
- Throws:
org.eclipse.aether.transfer.TransferCancelledException
-
transferCorrupted
public void transferCorrupted(org.eclipse.aether.transfer.TransferEvent event) throws org.eclipse.aether.transfer.TransferCancelledException
- Specified by:
transferCorrupted
in interfaceorg.eclipse.aether.transfer.TransferListener
- Overrides:
transferCorrupted
in classorg.eclipse.aether.transfer.AbstractTransferListener
- Throws:
org.eclipse.aether.transfer.TransferCancelledException
-
transferSucceeded
public void transferSucceeded(org.eclipse.aether.transfer.TransferEvent event)
- Specified by:
transferSucceeded
in interfaceorg.eclipse.aether.transfer.TransferListener
- Overrides:
transferSucceeded
in classorg.eclipse.aether.transfer.AbstractTransferListener
-
transferFailed
public void transferFailed(org.eclipse.aether.transfer.TransferEvent event)
- Specified by:
transferFailed
in interfaceorg.eclipse.aether.transfer.TransferListener
- Overrides:
transferFailed
in classorg.eclipse.aether.transfer.AbstractTransferListener
-
-