Class EffectiveInstancesIterator

java.lang.Object
org.dmfs.rfc5545.instanceiterator.EffectiveInstancesIterator
All Implemented Interfaces:
Iterator<org.dmfs.rfc5545.DateTime>, InstanceIterator

public final class EffectiveInstancesIterator extends Object implements InstanceIterator
An iterator for recurrence sets. It takes a number of InstanceIterators for instances and exceptions and iterates all resulting instances (i.e. only the instances, not the exceptions).
  • Constructor Details

    • EffectiveInstancesIterator

      public EffectiveInstancesIterator(InstanceIterator instances, InstanceIterator exceptions)
      Create a new recurrence iterator for specific lists of instances and exceptions.
      Parameters:
      instances - The instances, must not be null or empty.
      exceptions - The exceptions, may be null.
  • Method Details

    • hasNext

      public boolean hasNext()
      Check if there is at least one more instance to iterate.
      Specified by:
      hasNext in interface Iterator<org.dmfs.rfc5545.DateTime>
      Returns:
      true if the next call to next() will return another instance, false otherwise.
    • next

      public org.dmfs.rfc5545.DateTime next()
      Get the next instance of this set. Do not call this if hasNext() returns false.
      Specified by:
      next in interface Iterator<org.dmfs.rfc5545.DateTime>
      Returns:
      The time in milliseconds since the epoch of the next instance.
      Throws:
      ArrayIndexOutOfBoundsException - if there are no more instances.
    • fastForward

      public void fastForward(org.dmfs.rfc5545.DateTime until)
      Fast-forward to the next instance at or after the given date.
      Specified by:
      fastForward in interface InstanceIterator