Class ProgressReportingFeatureIterator

java.lang.Object
org.geotools.feature.collection.DecoratingFeatureIterator<org.geotools.api.feature.simple.SimpleFeature>
org.geotools.feature.collection.DecoratingSimpleFeatureIterator
org.tailormap.api.geotools.collection.ProgressReportingFeatureIterator
All Implemented Interfaces:
Closeable, AutoCloseable, org.geotools.data.simple.SimpleFeatureIterator, org.geotools.feature.FeatureIterator<org.geotools.api.feature.simple.SimpleFeature>

public class ProgressReportingFeatureIterator extends org.geotools.feature.collection.DecoratingSimpleFeatureIterator
A decorating feature iterator that will call a callback after a specified number of features are handled.
  • Field Summary

    Fields inherited from class org.geotools.feature.collection.DecoratingFeatureIterator

    delegate
  • Constructor Summary

    Constructors
    Constructor
    Description
    ProgressReportingFeatureIterator(org.geotools.data.simple.SimpleFeatureIterator iterator, int progressInterval, @Nullable IntConsumer progressCallback)
    Creates an iterator that reports progress after every configured number of processed features.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
     
    boolean
     
    org.geotools.api.feature.simple.SimpleFeature
     

    Methods inherited from class Object

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

    • ProgressReportingFeatureIterator

      public ProgressReportingFeatureIterator(org.geotools.data.simple.SimpleFeatureIterator iterator, int progressInterval, @Nullable IntConsumer progressCallback)
      Creates an iterator that reports progress after every configured number of processed features.
      Parameters:
      iterator - the wrapped feature iterator, must not be null
      progressInterval - the number of processed features between progress updates, must be greater than 0
      progressCallback - the callback that receives the current processed feature count; may be null
      Throws:
      IllegalArgumentException - if progressInterval <= 0
  • Method Details

    • next

      public org.geotools.api.feature.simple.SimpleFeature next()
      Specified by:
      next in interface org.geotools.feature.FeatureIterator<org.geotools.api.feature.simple.SimpleFeature>
      Overrides:
      next in class org.geotools.feature.collection.DecoratingFeatureIterator<org.geotools.api.feature.simple.SimpleFeature>
    • hasNext

      public boolean hasNext()
      Specified by:
      hasNext in interface org.geotools.feature.FeatureIterator<org.geotools.api.feature.simple.SimpleFeature>
      Overrides:
      hasNext in class org.geotools.feature.collection.DecoratingFeatureIterator<org.geotools.api.feature.simple.SimpleFeature>
    • close

      public void close()
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      Specified by:
      close in interface org.geotools.feature.FeatureIterator<org.geotools.api.feature.simple.SimpleFeature>
      Overrides:
      close in class org.geotools.feature.collection.DecoratingFeatureIterator<org.geotools.api.feature.simple.SimpleFeature>