Class FieldValueGenerator

java.lang.Object
io.github.projectunified.cronutils.model.time.generator.FieldValueGenerator

public abstract class FieldValueGenerator extends Object
Provides a strategy to generate values. Strategy is valid for 0+ numbers
  • Field Details

  • Constructor Details

    • FieldValueGenerator

      public FieldValueGenerator(CronField cronField)
  • Method Details

    • generateNextValue

      public abstract int generateNextValue(int reference) throws NoSuchValueException
      Generates next valid value from reference.
      Parameters:
      reference - - reference value
      Returns:
      generated value - Integer
      Throws:
      NoSuchValueException - - if there is no next value
    • generatePreviousValue

      public abstract int generatePreviousValue(int reference) throws NoSuchValueException
      Generates previous valid value from reference.
      Parameters:
      reference - - reference value
      Returns:
      generated value - Integer
      Throws:
      NoSuchValueException - - if there is no previous value
    • generateCandidatesNotIncludingIntervalExtremes

      protected abstract List<Integer> generateCandidatesNotIncludingIntervalExtremes(int start, int end)
    • isMatch

      public abstract boolean isMatch(int value)
    • generateCandidates

      public final List<Integer> generateCandidates(int start, int end)
    • matchesFieldExpressionClass

      protected abstract boolean matchesFieldExpressionClass(FieldExpression fieldExpression)