package Sequenic.T2.Engines; import java.math.BigInteger; /** * Just defining a common interface for Michael Gilleland's combination generators. */ abstract public class AbstractCombinationGenerator { /** * To reset the generator. */ abstract public void reset() ; /** * Return the number of combinations that are left (still to generate). */ abstract public BigInteger getNumLeft() ; /** * Return total number of permutations */ abstract public BigInteger getTotal() ; /** * Return true if there is still a combination to generate. */ abstract public boolean hasMore() ; /** * Generate next combination. */ abstract public int[] getNext() ; }