Class IsoLoadOptions


  • public class IsoLoadOptions
    extends Object

    Options with which IsoArchive is loaded from a compressed file. Contains event raised on extraction.

    • Constructor Detail

      • IsoLoadOptions

        public IsoLoadOptions()
    • Method Detail

      • getEntryExtractionProgressed

        public final Event<ProgressEventArgs> getEntryExtractionProgressed()

        Gets an event that is raised when some bytes have been extracted.

        
             long length = 10_000_000;
             IsoLoadOptions loadOptions = new IsoLoadOptions();
             loadOptions.setEntryExtractionProgressed((sender, args) -> {
                 int percent = (int)((100 * args.getProceededBytes()) / length);
             });
             IsoArchive archive = new IsoArchive("archive.iso", loadOptions);
         

        Event sender is the IsoEntry instance which extraction is progressed.

        Returns:
        an event that is raised when some bytes have been extracted
      • setEntryExtractionProgressed

        public final void setEntryExtractionProgressed​(Event<ProgressEventArgs> value)

        Sets an event that is raised when some bytes have been extracted.

        
             long length = 10_000_000;
             IsoLoadOptions loadOptions = new IsoLoadOptions();
             loadOptions.setEntryExtractionProgressed((sender, args) -> {
                 int percent = (int)((100 * args.getProceededBytes()) / length);
             });
             IsoArchive archive = new IsoArchive("archive.iso", loadOptions);
         

        Event sender is the IsoEntry instance which extraction is progressed.

        Parameters:
        value - an event that is raised when some bytes have been extracted
      • setCancellationFlag

        public void setCancellationFlag​(CancellationFlag value)

        Sets a cancellation flag used to cancel the extraction operation.

        Cancel ISO archive extraction after a certain time.

        
             try (CancellationFlag cf = new CancellationFlag()) {
                 cf.cancelAfter(TimeUnit.SECONDS.toMillis(60));
                 IsoLoadOptions options = new IsoLoadOptions();
                 options.setCancellationFlag(cf);
                 try (IsoArchive a = new IsoArchive("big.iso", options)) {
                     try {
                         a.getEntries().get(0).extract("data.bin");
                     } catch (OperationCanceledException e) {
                         System.out.println("Extraction was cancelled after 60 seconds");
                     }
                 }
             }
         
        Cancellation mostly results in some data not being extracted.

        Parameters:
        value - a cancellation flag used to cancel the extraction operation.