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
A TransferListener implementation that wraps another delegate TransferListener 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:
4.0.0
  • 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

    Modifier and Type
    Method
    Description
    org.eclipse.aether.transfer.TransferListener
     
    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)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • 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 (default 1024).
      batchMaxSize - The maximum batch size delegate should receive (default 500).
      blockOnLastEvent - Should this listener block on last transfer end (completed or corrupted) block? (default true).
  • Method Details

    • getDelegate

      public org.eclipse.aether.transfer.TransferListener getDelegate()
    • transferInitiated

      public void transferInitiated(org.eclipse.aether.transfer.TransferEvent event)
      Specified by:
      transferInitiated in interface org.eclipse.aether.transfer.TransferListener
      Overrides:
      transferInitiated in class org.eclipse.aether.transfer.AbstractTransferListener
    • transferStarted

      public void transferStarted(org.eclipse.aether.transfer.TransferEvent event) throws org.eclipse.aether.transfer.TransferCancelledException
      Specified by:
      transferStarted in interface org.eclipse.aether.transfer.TransferListener
      Overrides:
      transferStarted in class org.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 interface org.eclipse.aether.transfer.TransferListener
      Overrides:
      transferProgressed in class org.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 interface org.eclipse.aether.transfer.TransferListener
      Overrides:
      transferCorrupted in class org.eclipse.aether.transfer.AbstractTransferListener
      Throws:
      org.eclipse.aether.transfer.TransferCancelledException
    • transferSucceeded

      public void transferSucceeded(org.eclipse.aether.transfer.TransferEvent event)
      Specified by:
      transferSucceeded in interface org.eclipse.aether.transfer.TransferListener
      Overrides:
      transferSucceeded in class org.eclipse.aether.transfer.AbstractTransferListener
    • transferFailed

      public void transferFailed(org.eclipse.aether.transfer.TransferEvent event)
      Specified by:
      transferFailed in interface org.eclipse.aether.transfer.TransferListener
      Overrides:
      transferFailed in class org.eclipse.aether.transfer.AbstractTransferListener